Skip to content

fix: mock CUDA virtual package in GPU-less CI for pixi >= 0.76 - #4

Merged
nishide-dev merged 1 commit into
mainfrom
fix/pixi-cuda-override-ci
Aug 7, 2026
Merged

fix: mock CUDA virtual package in GPU-less CI for pixi >= 0.76#4
nishide-dev merged 1 commit into
mainfrom
fix/pixi-cuda-override-ci

Conversation

@nishide-dev

Copy link
Copy Markdown
Owner

Summary

Fixes the CI failures on all ubuntu-latest pixi jobs (build dispatch initialization failed: the workspace does not support 'linux-64' on this machine).

Root cause

CI installs the latest pixi. pixi 0.76 added a build-dispatch machine check when solving PyPI requirements: the current machine must now satisfy the workspace's system-requirements (previously advisory). GPU-less GitHub runners cannot provide __cuda >= 12.6, so pixi install/pixi lock fails before solving. macOS jobs pass because the cuda requirement doesn't apply to osx-arm64. Unrelated to #3 — this is pixi version drift (last green run was 2026-05-18).

Fix

Set CONDA_OVERRIDE_CUDA — pixi's documented mechanism for mocking missing virtual packages (it's literally what pixi's error help suggests) — in:

  • .github/workflows/test-template.yml (workflow-level, matches the matrix presets' CUDA 12.6)
  • ci.yml.jinja / test.yml.jinja for pixi projects, deriving the version from pytorch_cuda_preset (or the custom cuda_version answer)

Verification

  • Reproduced the exact CI failure in a linux/amd64 container with pixi 0.76.1; pixi lock succeeds with the override for both plain and PyG configurations
  • Rendered workflows checked for: pixi preset (cuda 13.0 → "13.0"), pixi custom (cuda_version=12.8"12.8"), uv (no env block)

Follow-up (out of scope)

pixi 0.76 also deprecates [tool.pixi.system-requirements] in favor of per-platform declarations (platforms = [{ platform = "linux-64", cuda = "12.6" }]). Currently only a warning; worth migrating in a separate PR.

🤖 Generated with Claude Code

pixi 0.76 introduced a build dispatch machine check when solving pypi
requirements: the current machine must satisfy the workspace's
system-requirements. GPU-less GitHub runners cannot provide
__cuda >= 12.6, so every ubuntu pixi job started failing with
'build dispatch initialization failed: the workspace does not support
linux-64 on this machine'.

Set CONDA_OVERRIDE_CUDA (pixi's documented mechanism for mocking
missing virtual packages) in the template repo CI and in the generated
projects' CI/test workflows for pixi. The generated workflows derive
the CUDA version from the selected pytorch_cuda_preset (or the custom
cuda_version answer).

Verified in a linux/amd64 container with pixi 0.76.1: 'pixi lock'
reproduces the CI failure without the override and succeeds with it,
for both the plain and PyTorch Geometric configurations.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@nishide-dev
nishide-dev merged commit d00bc3d into main Aug 7, 2026
34 checks passed
@nishide-dev
nishide-dev deleted the fix/pixi-cuda-override-ci branch August 7, 2026 06:15
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