Skip to content

ci: use same-run CUDA 12 bindings for Core and metapackages - #3318

Draft
rwgk wants to merge 2 commits into
rwgk/cb12-staged-03-bindings-cifrom
rwgk/cb12-staged-04-consumers
Draft

rwgk wants to merge 2 commits into
rwgk/cb12-staged-03-bindings-cifrom
rwgk/cb12-staged-04-consumers

Conversation

@rwgk

@rwgk rwgk commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

— codex GPT-6 on behalf of Ralf —

Layer 4 of 7 of the staged "CUDA 12 bindings on main" stack. Previous: #3317. Next: #3319. Stack map at the bottom.

What this PR does

Cuts the last dependency on the 12.9.x branch inside PR CI. Everything that needs CUDA 12 bindings during a main run now takes the wheel built in the same run.

  • cuda.core's cu12 half is built against the same-run CUDA 12 wheel. The lookup-run-id --branch 12.9.x artifact download disappears from build-wheel.yml.
  • Core's cu12 Cython test extensions are built and uploaded (<core artifact>-cu12-tests), with stale-output cleanup between the two ABI builds.
  • A CUDA 12 metapackage wheel is built (CUDA_PYTHON_BUILD_MAJOR=12) next to the CUDA 13 one.
  • The temporary Maintenance bindings jobs from ci: build and test local CUDA 12 bindings #3317 go away. Instead the regular test matrices annotate each row from the registry (BINDINGS_ROOT, BINDINGS_SOURCE, artifact names): 12.9.1 rows test bindings, Core, and metapackage from this run's wheels; 13.0.x / 12.6.x rows keep testing Core against published floor bindings.
  • sdist checks run once per package root (matrix over the registry), with the SCM preview bootstrap for the CUDA 12 root.
  • cuda_python/setup.py + pyproject.toml: a selector table {"12": "v12.9.*", "13": "v13.4.*"}; CUDA_PYTHON_BUILD_MAJOR (default 13) picks the line; dependencies follow the resolved version, so a CUDA 12 sdist rebuilt outside Git keeps CUDA 12 dependencies. The CUDA 12 metapackage depends on bindings only; CUDA 13 also on Core and Pathfinder. Covered by test_cuda_python_setup.py.

After this merges

Where to look

All changes (14 files, +331 / -237)
  • .github/workflows/build-wheel.yml: same-run CUDA 12 constraint for Core, maintenance metapackage wheel, maintenance Core Cython tests, removal of the prior-branch lookup.
  • .github/workflows/ci.yml: removal of the three temporary jobs; sdist jobs matrixed over package_roots; bindings-config passed to all test jobs.
  • .github/workflows/test-sdist-linux.yml, test-sdist-windows.yml: bindings-package input replaces cuda-version; per-root build, Pathfinder sdist only for the current root.
  • .github/workflows/test-wheel-linux.yml, test-wheel-windows.yml: registry-driven row annotation; bindings-only input removed.
  • ci/tools/env-vars: MAINTENANCE_CUDA_MAJOR, registry-driven test routing, Core Cython artifact suffix, metapackage artifact name.
  • cuda_python/setup.py, cuda_python/pyproject.toml, ci/tools/tests/test_cuda_python_setup.py (new).
  • Docs: cuda_python/AGENTS.md, cuda_python/docs/README.md, cuda_core/docs/source/install.rst.
Validation
  • Full CI passed at the pre-rebase head 2f2eb43e (run 41188280375).
  • Current head 55b92f8674510105d2184ad371df4b75ba71e3f0 includes the follow-up fixes. Local validation: 306 CI-tool tests, actionlint passed. Full CI and native Pixi source/GPU checks have not been rerun for it.
Stack map: what main can do after each layer merges
Layer PR After it merges, main ...
1 #3314 behaves exactly as before; CI has one reader for the two bindings roots; CUDA 13 versions can no longer match a v12.* tag
2 #3315 lets a developer build, test, and document cuda_bindings_12/; the PR-time CPU source-build smoke covers both roots; three CUDA 12 runtime fixes are in
3 #3317 builds the CUDA 12 bindings wheel itself and runs its GPU tests; cuda.core and the metapackage still consume 12.9.x artifacts
4 #3318 uses same-run CUDA 12 wheels everywhere; PR CI no longer reads the 12.9.x branch
5 #3319 can release CUDA 12 from a v12.9.N tag on main; CUDA 13 releases are unchanged
6 #3321 builds and tests only what a change needs, per bindings root, reusing baseline artifacts
7 #3322 carries the schema-2 registry, a manual-only backport workflow, a metadata consistency hook, and the maintenance docs; 12.9.x is frozen

Every layer was designed to be mergeable on its own and had a green full CI run at its pre-rebase head on 2026-10-31. The stack is the "individually mergeable pieces" alternative to #3174-#3182; both stacks reach the same end state except that this one keeps compatibility routes for older artifact sources and retained CUDA 13 tags.

@rwgk
rwgk added this pull request to stack #3316 October 31, 2026 05:27
@copy-pr-bot

copy-pr-bot Bot commented Oct 31, 2026

Copy link
Copy Markdown
Contributor

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@github-actions github-actions Bot added CI/CD CI/CD infrastructure cuda.core Everything related to the cuda.core module labels Oct 31, 2026
@rwgk rwgk added this to the cuda.bindings next milestone Oct 31, 2026
@rwgk rwgk added enhancement Any code-related improvements cuda.bindings Everything related to the cuda.bindings module and removed cuda.core Everything related to the cuda.core module labels Oct 31, 2026
@rwgk rwgk self-assigned this Oct 31, 2026
@rwgk
rwgk force-pushed the rwgk/cb12-staged-04-consumers branch from c8ce319 to ea19ebc Compare October 31, 2026 05:38
@github-actions github-actions Bot added the cuda.core Everything related to the cuda.core module label Oct 31, 2026
@rwgk
rwgk force-pushed the rwgk/cb12-staged-04-consumers branch from ea19ebc to 44b64de Compare October 31, 2026 06:03
@rwgk
rwgk force-pushed the rwgk/cb12-staged-04-consumers branch from 44b64de to 4b8376e Compare October 31, 2026 07:49
@rwgk
rwgk force-pushed the rwgk/cb12-staged-04-consumers branch from 4b8376e to 2f2eb43 Compare October 31, 2026 08:03

rwgk commented Oct 31, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test 2f2eb43

@github-actions

Copy link
Copy Markdown
Contributor

@rwgk
rwgk force-pushed the rwgk/cb12-staged-04-consumers branch from b252422 to 55b92f8 Compare November 2, 2026 03:53

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/CD CI/CD infrastructure cuda.bindings Everything related to the cuda.bindings module cuda.core Everything related to the cuda.core module enhancement Any code-related improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant