Skip to content

Release: select bindings artifacts from tagged package configuration - #3177

Draft
rwgk wants to merge 2 commits into
rwgk/cb12-on-main-05-ci-tests-docsfrom
rwgk/cb12-on-main-06-release-routing
Draft

rwgk wants to merge 2 commits into
rwgk/cb12-on-main-05-ci-tests-docsfrom
rwgk/cb12-on-main-06-release-routing

Conversation

@rwgk

@rwgk rwgk commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Release one bindings line and its matching metapackage using the package layout and toolkit settings in ci/versions.yml at the release tag. A release tag may be on main or a stabilization branch containing the new configuration.

  • Keep workflow-control tools separate from tagged package sources. A newer workflow revision must use the tagged source's layout, versions, and wheel matrix.
  • Require a successful push CI run for the exact tag and source SHA, either discovered automatically or checked against the supplied run ID.
  • Select the requested component/toolkit artifacts and validate wheel filenames for distribution, version, ABI/platform, and complete expected coverage. This is not an inspection of wheel payload provenance.
  • Release the selected bindings and metapackage without building/releasing the other bindings major, Core, or Pathfinder. Use published dependencies where appropriate.
  • Preserve component-specific upload, documentation, verification, and GitHub Release behavior, including Pathfinder's final automatic publication after both-index verification.

Tagged Configuration and Compatibility

For example, a future v12.9.11 tag whose registry records cuda_bindings_12 with toolkit 12.9.1 selects that root and toolkit while releasing package version 12.9.11. The package and toolkit patch versions need not match. The registry at that tag is used even if the workflow-control revision records different pins.

The current release workflow requires a schema-2 ci/versions.yml in the tagged source for every component, including Core and Pathfinder, for both dry-runs and publication. Pre-registry tags require compatible historical tooling. Existing published packages and immutable tags are unchanged.

Release Notes and Publication

Normal bindings, metapackage, and Core releases require their own exact-version, nonempty .rst notes in the tagged component source. Their .postN releases remain exempt. Pathfinder requires a notes file for every release, including .postN, but permits it to be empty. Another component's notes or the workflow-control tree cannot fill a missing tagged-source file.

Bindings/metapackage releases prepare a shared GitHub Release draft for the owner to review and publish after both component releases. The final bindings release guide is added in #3178.

Stack / Review Boundary

Previous: #3176. Next: #3178. The stack overview lists all six open PRs and the intended workflow.

#3174 through #3176 are intended to land together, with separate review scopes and cumulative CI at #3176; the first two are incomplete intermediate states. Release routing (#3177), maintenance policy (#3178), and the runtime fixes (#3182) follow that group. The complete proposed source tree is at #3182.

Baseline: main b4a5e5513a1f.

Suggested Review Order

  1. .github/workflows/release.yml
  2. ci/tools/lookup-run-id
  3. ci/tools/validate_release_wheels.py
  4. ci/tools/check_release_notes.py
  5. .github/RELEASE-core.md

Counterpart Review

Inspected both tagged bindings records, metapackage selectors, component-specific release-note policies, and release documentation/artifact consumers. Source-root selection remains data-driven for both majors; the workflow-control checkout does not substitute its own package configuration or notes for the tagged source.

Validation

Cumulative local checks pass in full Git checkouts: 328 CI-tool tests at #3176 and 341 at #3182, with full pre-commit at both heads, including actionlint and Lychee.

Release-tool regressions cover tagged-source selection, exact run/tag matching, artifact routing, wheel-matrix completeness, and component-specific notes policies. Full hosted CI also passed for the complete stack at the unchanged #3182 head 775392e1a6b372b8d046a95466513bd114b05f6a: run 40456627846, attempt 2. The only retry was a self-hosted H100 runner disconnect during driver setup, before package tests began. Its replacement passed, together with the final gate; exact-head auxiliary checks are also green or intentionally skipped. This tests the cumulative stack, rather than hosted release publication or backport automation.

No hosted release dry-run, package upload, GitHub Release publication, or retained milestone creation was performed. Ordinary PR CI and the local tests do not exercise the release workflow end-to-end. For pre-registry tags, use the documented historical workflow revision, including 13.4.x for that release line.

Checklist

  • Relevant existing and focused regression tests cover the integration behavior.
  • This description identifies the layer's scope and validation boundary.

@rwgk rwgk added this to the cuda.bindings next milestone Oct 21, 2026
@rwgk rwgk added enhancement Any code-related improvements CI/CD CI/CD infrastructure cuda.bindings Everything related to the cuda.bindings module labels Oct 21, 2026
@rwgk rwgk self-assigned this Oct 21, 2026
@copy-pr-bot

copy-pr-bot Bot commented Oct 21, 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.

@rwgk
rwgk added this pull request to stack #3179 October 21, 2026 04:48
@rwgk
rwgk force-pushed the rwgk/cb12-on-main-06-release-routing branch 2 times, most recently from 6cd44d1 to cce0618 Compare October 21, 2026 13:57
@rwgk
rwgk force-pushed the rwgk/cb12-on-main-06-release-routing branch from cce0618 to 32cb766 Compare October 21, 2026 14:09
@rwgk
rwgk force-pushed the rwgk/cb12-on-main-06-release-routing branch 2 times, most recently from 052a600 to 5a66951 Compare October 21, 2026 17:27
@rwgk
rwgk force-pushed the rwgk/cb12-on-main-06-release-routing branch 2 times, most recently from a9fe883 to d5cec61 Compare October 21, 2026 19:33
@rwgk
rwgk force-pushed the rwgk/cb12-on-main-06-release-routing branch from d5cec61 to 7d6d297 Compare October 22, 2026 03:52
@rwgk rwgk mentioned this pull request Oct 22, 2026
2 tasks done
@rwgk
rwgk force-pushed the rwgk/cb12-on-main-06-release-routing branch from 7d6d297 to c860fc8 Compare October 22, 2026 04:15
@mdboom
mdboom force-pushed the rwgk/cb12-on-main-06-release-routing branch from c860fc8 to 4b4679c Compare October 23, 2026 15:04
@rwgk
rwgk force-pushed the rwgk/cb12-on-main-06-release-routing branch 3 times, most recently from a4feb26 to 9f2d183 Compare October 26, 2026 21:35
rwgk added 2 commits October 26, 2026 17:21
Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
@rwgk
rwgk force-pushed the rwgk/cb12-on-main-06-release-routing branch from 9f2d183 to c2720b9 Compare October 27, 2026 00:23

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 enhancement Any code-related improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant