Repair the update_analysis3 CD job before the 1.8.0 tag - #678
Merged
Conversation
The analysis3 update has never worked. Every CD run since the job was added has ended `pypi` success, `conda` success, `update_analysis3` failure, which is why the environment has been bumped by hand after each release and why the manual fallback exists in the release guide. The job staged environments/analysis3/solved.json, which does not exist in ACCESS-Analysis-Conda. `pixi run rebuild-env` re-solves pixi.lock against the edited pixi.toml and exports environment.yml from it; those three files are the whole change. Staging a fourth aborted the step with `fatal: pathspec 'environments/analysis3/solved.json' did not match any files`, exit 128, identically from moppy-v1.7.2b through moppy-v1.7.20b. Behind it the `git diff --cached --quiet` block was missing its closing `fi`. That is a syntax error the earlier failure had been masking: fixing only the pathspec would have moved the failure one line down. Every `run:` block in the workflow now passes `bash -n`. This did not affect moppy-v1.8.0rc1, where the job is skipped by design, but it would have broken the moppy-v1.8.0 tag, where it runs for real. Also drops solved.json from the guide's manual procedure and from the body of the PR the job opens. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #678 +/- ##
=====================================
Coverage 78.2% 78.2%
=====================================
Files 40 40
Lines 8827 8827
Branches 1665 1665
=====================================
Hits 6901 6901
Misses 1591 1591
Partials 335 335
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
The
analysis3update has never worked. Every CD run since the job was added ends the same way —pypisuccess,condasuccess,update_analysis3failure — which is why the environment has been bumped by hand after each release, and presumably why the manual fallback was written into the release guide in #673.moppy-v1.8.0rc1passed only because the new gating skips the job for a pre-release. On themoppy-v1.8.0tag it runs for real, and would have failed.Two bugs, one masking the other
1. A file that does not exist. The job staged
environments/analysis3/solved.json. That file is not inACCESS-Analysis-Conda— the directory holdspixi.toml,pixi.lockandenvironment.yml.rebuild-envispixi workspace export conda-environment --from-lock-file > environment.ymlwithdepends-on = ["ensure-locked"], sopixi runre-solvespixi.lockagainst the editedpixi.tomland exportsenvironment.ymlfrom it. Those three files are the whole change. Staging a fourth aborts the step:Identical output from
moppy-v1.7.2bthroughmoppy-v1.7.20b.2. An unterminated
if. Thegit diff --cached --quietblock never closed. Extracting the step and runningbash -n:This has never been seen because
git addkills the job four lines earlier. Fixing only the pathspec would have moved the failure one line down. Everyrun:block in the workflow now passesbash -n.Also
solved.jsonfrom the manual procedure inreleasing.rstand from the body of the PR the job opens againstACCESS-Analysis-Conda, so both match whatrebuild-envactually regenerates.moppy-v1.8.0 (unreleased)changelog entry. The date needs setting when you tag — I left it as(unreleased)rather than guess when that happens.Docs build clean, no new warnings.
After merging
Tag
moppy-v1.8.0and watchupdate_analysis3— it should open a PR inACCESS-Analysis-CondatitledBump access-moppy to 1.8.0 in analysis3 env. That will be the first time it has ever run to completion, so it is worth watching rather than assuming.🤖 Generated with Claude Code