fix: repair the CI test suite (conda.sh lookup + --env-dev flag)#732
Closed
cailmdaley wants to merge 2 commits into
Closed
fix: repair the CI test suite (conda.sh lookup + --env-dev flag)#732cailmdaley wants to merge 2 commits into
cailmdaley wants to merge 2 commits into
Conversation
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>
conda info --base in install_shapepipe
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 + — Claude on behalf of Cail |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Turning on the
developCI trigger surfaced a chain of pre-existing failures in the test suite that had been invisible (CI only ran on PRs tomain/master). This PR fixes the two that block the suite from running.1.
install_shapepipecouldn't findconda.shIt only looked under
/opt/conda(docker convention) or$CONDA_PREFIX, neither of which resolves on GitHub runners ($CONDA_PREFIXis empty in the install step's shell). Fixed by querying conda itself viaconda 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--developonly adds dev pip extras into the production env; the flag that builds the dev conda env (shapepipe-dev, fromenvironment-dev.yml) is--env-dev(which also triggers.[dev]on its own). The downstreamRun testsstep already doesconda 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 againstpython=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