ci: bump pixi to v0.73.0 to fix per-run Cython rebuild (#2138)#2396
Merged
Conversation
Pixi <0.71.0 re-ran the editable source build on every `pixi run`, recompiling all ~29 Cython extensions in cuda_bindings (~27s) even when nothing changed, because setuptools' editable_wheel uses fresh temp build dirs so build_ext always sees the .so as older than its source. Pixi 0.71.0 fixed this upstream with a content-addressed source-build cache (prefix-dev/pixi#6285) plus separate Cython input tracking (prefix-dev/pixi#6123). Locally verified: under 0.66 the 2nd no-op run rebuilds 29 extensions with a fresh /tmp/*.build-temp; under 0.73 it rebuilds nothing and returns instantly. The fix also bumps the pixi.lock format from v6 to v7 (unreadable by pixi 0.66), so this requires all contributors to move to pixi >=0.71. Regenerated all six committed lock files to v7 accordingly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This comment has been minimized.
This comment has been minimized.
kkraus14
approved these changes
Jul 21, 2026
|
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.
Summary
Fixes #2138. Pixi
<0.71.0re-ran the editable source build on everypixi run, recompiling all ~29 Cython extensions incuda_bindings(~27s of C++) even when nothing changed — setuptools'editable_wheeluses fresh temp build dirs each run, sobuild_extalways sees each.soas older than its source and recompiles.Pixi
0.71.0fixed this upstream:prefix-dev/pixi#6285— content-addressed source-build cache (keyed by backend, platform, variants, deps, config; returns cached artifacts without starting the build backend).prefix-dev/pixi#6123— separate Cython input tracking so.pyx/.pxd/.pxiedits still invalidate correctly.This PR bumps the CI pin
v0.66.0→v0.73.0and regenerates the committed lock files.Validation (local,
cuda_bindings -e cu13, same command run twice)/tmp/*.build-tempBaseline reproduced the exact symptom (fresh
/tmp/tmp78sr7y3a.build-temp, 29 extensions rebuilt on an unchanged 2nd run). After the bump, build + import succeeds and the 2nd run rebuilds nothing.The fix unavoidably bumps the
pixi.lockformat from v6 → v7, which pixi0.66cannot read. Every fix-carrying pixi (0.71.x and 0.73.0 alike) produces v7 — there is no version that fixes the rebuild while keeping v6.Consequently:
pixi self-update) before running against this branch.pixi.lockfiles are regenerated to v7 in this PR (root,cuda_bindings,cuda_core,cuda_pathfinder,benchmarks/cuda_bindings,benchmarks/cuda_core). The large lock diffs reflect the v6→v7 rewrite plus routine conda-forge/pypi drift since they were last solved.Files changed
.github/workflows/ci-pixi-source-test.yml—PIXI_VERSIONv0.66.0→v0.73.0+ explanatory comment.pixi.lock— regenerated to format v7.🤖 Generated with Claude Code