Skip to content

fix: repair the CI test suite (conda.sh lookup + --env-dev flag)#732

Closed
cailmdaley wants to merge 2 commits into
developfrom
fix/install-conda-base
Closed

fix: repair the CI test suite (conda.sh lookup + --env-dev flag)#732
cailmdaley wants to merge 2 commits into
developfrom
fix/install-conda-base

Conversation

@cailmdaley

@cailmdaley cailmdaley commented May 29, 2026

Copy link
Copy Markdown
Contributor

Turning on the develop CI trigger surfaced a chain of pre-existing failures in the test suite that had been invisible (CI only ran on PRs to main/master). This PR fixes the two that block the suite from running.

1. install_shapepipe couldn't find conda.sh

It only looked under /opt/conda (docker convention) or $CONDA_PREFIX, neither of which resolves on GitHub runners ($CONDA_PREFIX is empty in the install step's shell). Fixed by querying conda itself via conda info --base, with the old paths kept as fallbacks. Verified locally against a non-standard prefix (/softs/intelpython/...) the old logic would miss.

2. CI built the wrong conda environment

The install steps called ./install_shapepipe --develop. But --develop only adds dev pip extras into the production env; the flag that builds the dev conda env (shapepipe-dev, from environment-dev.yml) is --env-dev (which also triggers .[dev] on its own). The downstream Run tests step already does conda activate shapepipe-dev — an env the old flag never created. Switched both install steps to --env-dev.

Out of scope — separate production bug

environment.yml (production) is itself unsolvable: astropy==5.2 (py38–py311 builds only) pinned against python=3.12. This breaks real production installs and deserves its own issue/PR; it's not on the dev-env path the test suite uses.

— Claude on behalf of Cail

cailmdaley and others added 2 commits May 29, 2026 12:13
The installer only looked for conda.sh under /opt/conda (the docker-image
convention) or $CONDA_PREFIX. On GitHub Actions runners conda lives
elsewhere and $CONDA_PREFIX is empty in the install step's shell, so both
checks miss and install aborts with "Could not find conda.sh". This broke
the full test suite at the install step — invisible until now because CI
never ran on develop.

Query conda for its base prefix instead, which is authoritative wherever
conda was installed (runners, miniforge, custom prefixes like
intelpython). Keep /opt/conda and $CONDA_PREFIX as fallbacks for
environments where conda can't be queried.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The CI install steps called `./install_shapepipe --develop`, but
`--develop` only adds dev pip extras into the *production* environment
(environment.yml). The flag that builds the dev conda env (shapepipe-dev,
from environment-dev.yml) is `--env-dev` — which also triggers the
`.[dev]` install on its own. The downstream test step already does
`conda activate shapepipe-dev`, an env the old flag never created.

Building production also failed to solve regardless: environment.yml pins
astropy==5.2 (py38–py311 builds only) against python=3.12, which is
unsatisfiable. That's a separate production-environment bug; this change
just points CI at the dev env it was always meant to use.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@cailmdaley cailmdaley changed the title fix: locate conda.sh via conda info --base in install_shapepipe fix: repair the CI test suite (conda.sh lookup + --env-dev flag) May 29, 2026
@cailmdaley

Copy link
Copy Markdown
Contributor Author

Superseding this. The deeper fix is to remove conda from CI entirely: turning on the develop trigger showed the conda test path had rotted (this PR's conda.sh + --env-dev fixes were layers 1–2 of an N-layer install failure), but the Docker work already moved the runtime to a slim-Python + apt + uv-lockfile story with no conda at all. Rather than repair a parallel conda env nothing deploys, CI will build the dev image and run pytest inside it, and install_shapepipe + environment*.yml will be deleted. Tracked in the conda-removal PR to follow.

— Claude on behalf of Cail

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant