Skip to content

Ci pixi lock - #52

Merged
SmithB merged 3 commits into
mainfrom
ci_pixi_lock
Sep 4, 2026
Merged

SmithB merged 3 commits into
mainfrom
ci_pixi_lock

Conversation

@SmithB

@SmithB SmithB commented Sep 4, 2026

Copy link
Copy Markdown
Owner

No description provided.

Ben Smith and others added 3 commits September 4, 2026 15:30
Every pull request has been failing at "Set up pixi environment", before a
single test ran, with only "the process pixi failed with exit code 1" to go on.
setup-pixi runs `pixi install --locked` whenever a pixi.lock is present, and the
lock was rejected for two independent reasons, either of which was sufficient:

  - Content.  pixi records the editable path dependency's requires_dist in the
    lock, so the `cloud` extra added with the ATL11 cloud reads (earthaccess,
    s3fs, fsspec) put the lock out of date the moment it landed.  pixi.lock had
    not been touched since the commit that introduced it.

  - Format.  pixi 0.79 wants lock format v7 and the lock was v6.  Upgrading the
    format means re-solving, which --locked forbids -- so this fails even on a
    lock whose contents are perfectly current.  Checked against the commit that
    generated the lock, where pixi says "the lock file is up-to-date" and then
    refuses it anyway.

The format half is the one that bites again: setup-pixi installs the LATEST pixi
unless told otherwise, so pinning the lock without pinning its reader just means
the next lock-format bump breaks CI on pixi's release schedule rather than ours.
Pin pixi-version alongside the lock, and bump the two together.

Notes on the dependency tables point at `pixi lock`, since editing them is what
silently invalidates the lock.

Verified with pixi 0.79.0, the version now pinned: `pixi install --locked` then
`pixi run lint` (0 errors over the tracked tree) and `pixi run coverage`
(210 passed, 1 skipped).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…test.xml

Node 20 is deprecated and the runner now forces those actions onto Node 24,
warning on every run.  checkout@v5 and upload-artifact@v6 are the earliest
releases that declare node24, so this clears the warnings with the smallest
behaviour change; v7 of each is current if we ever want to go further.

upload-artifact is the less obvious half: it was never named in the run
annotations, because the archive step is the last one in the job and has been
skipped by the pixi failure every time.  It would have started warning as soon
as CI went green again.

pytest.xml is written by the coverage task next to coverage.xml, which is
already ignored; ignore it too so a stray `git add -A` cannot commit it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The release workflow was a generation further behind than the PR one:
setup-python@v4 still declares node16, deprecated well before node20 was.  It
only runs on release, so nothing has been complaining, and a release is exactly
when we would least enjoy finding out.

setup-python@v6 is the earliest release on node24 -- v5 is still node20 -- and
its only breaking change is that runtime bump.  checkout goes to v5 to match the
pull request workflow.  Every action across both workflows is now node24.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@SmithB
SmithB merged commit d8897f3 into main Sep 4, 2026
2 checks passed
@SmithB
SmithB deleted the ci_pixi_lock branch September 4, 2026 22:51
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