You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
CI: test and document both bindings majors on main - #3176
Exercise the CUDA 12 and CUDA 13 wheels built from main, with explicit component and dependency-source coverage in the PR checks view.
Name matrix checks for the enabled suites and CUDA major, distinguishing this run's bindings artifacts from published bindings and local from wheel-installed toolkits. Metapackage suites display meta12 and meta13.
Share matrix selection in one Python function across Linux and Windows. Preserve caller-provided jq filters and reject filters that remove required local-wheel coverage. Intentional nightly subsets can continue using published floor bindings.
Keep matrix data at the source revision selected for the build/test run, while loading the helper from a separate workflow-control checkout. The control revision supplies the workflow and orchestration tools, and can be newer for nightly/manual runs. Unaffected components may still reuse baseline wheels; the workplan identifies rebuild/reuse choices and the exact baseline.
Preserve mandatory Python 3.15/3.15t coverage, current main's JUnit reports, log folding, retries, and Windows ARM64 behavior. Validate metapackage installability without requiring an unrelated Core build for a bindings release.
Route Pixi source checks, coverage, and documentation to the intended root. Both CPU build-smoke and GPU full-test prepare maintenance SCM versions before source builds, with their required tooling installed. Build CUDA 13 documentation against the checkout's bindings API, retaining the existing Lychee and rendered-link checks.
Remove the orphaned lookup-run-id --artifact option and reduce CI-tool tests to silent-failure outcomes. Scoped test guidance records this policy; package/runtime tests retain their own rules.
Refresh source-build, documentation-build, and CI instructions, including transferring handwritten fixes with format-patch / git am, using a compatible first nightly artifact source, and rerunning historical releases/docs from their historical workflow revision. Correct the documented CUDA 12 driver baseline; this adds no runtime driver-version gate.
Preserve hardened workflow-owned Python across source tests, coverage, docs, and nightly orchestration, together with main's CA safeguards and verified driver installers. Nightly source matrices need custom-driver checksums; historical workflow control branches need applicable current security fixes before reruns.
Shared GPU jobs keep runner usage bounded; their names and coverage summaries expose which suites actually run.
CUDA 12 NVML test maintenance accompanies CI activation: device visibility, PCI-information and Orin/Thor naming accommodations (#1590, #2065, #2437, #2788); serialized initialization and the driver 13.4 refcount skip (#2229, #2512); removal of the unstable energy-timing assertion (#2644); and the field-enum spelling correction (#2560). Driver probing occurs during test execution. These changes affect tests and their helper, not the installed runtime.
Process-global coredump tests are serialized for free-threaded runs, carrying Mike's #3226 fix and the matching CUDA 12 marker. Tests that only manipulate local helper storage remain parallel. This addresses the coredump setting race seen in the previous full runs without serializing unrelated tests.
Reading the Test Coverage
bindings PR means the selected root's artifact supplied by this CI run; the workplan identifies whether it was rebuilt or reused from the exact baseline. bindings floor means the oldest published bindings supported by the Core wheel for that CUDA major. Floor rows test Core or the selected nightly integration, without running the bindings or metapackage suites. wheels versus local CTK describes how toolkit libraries are supplied, independently of the bindings source.
Development documentation builds the current CUDA 13 API from the checkout. The local CUDA 12 Pixi docs environment defaults to a published 12.9.* bindings package; install a matching source build when documenting API changes in the checkout. It needs a separate environment because both roots install the same package. Tagged releases publish their selected version without replacing shared latest pages or version selectors; the full publication procedure follows in #3178.
Stack / Review Boundary
Previous: #3175. Next: #3177. 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.
Future CUDA 13 releases tagged from this state retain the existing release flow. The transitional backport_branch field keeps legacy release-note and backport consumers working; toolkit selection uses the package-root registry. Releasing CUDA 12 from main is enabled separately by #3177.
Starting at this layer, release-documentation reruns and dry-runs against pre-registry tags require layout-compatible historical tooling with the applicable current CI security fixes on its control branch. The historical rerun recipe uses 13.4.x and v13.4.4 only after that prerequisite is met; the immutable tagged source does not need to change.
Nightly artifact auto-detection needs the first successful, complete main CI run containing the schema-2 registry, both bindings majors, and required driver-checksum metadata. The rollout instructions describe selecting a successful compatible run explicitly. The override selects artifacts and their source revision; registry compatibility alone is insufficient for old matrices that lack selected custom-driver hashes, and verification must not be bypassed.
ci/README.md - how to read coverage, baseline reuse, and source/control revisions.
Counterpart Review
Inspected both bindings roots' test setup, README, install/support documentation, coredump tests, and documentation environments, plus Core floor testing and the shared Linux/Windows matrix rules. Both READMEs now use the same --group test recipe. CUDA 12 preserves its legacy sample/NVML layout and requires its own environment. All three marked pytest-bootstrap blocks match byte-for-byte, and all four package-local shared-helper paths resolve to the same implementation.
For the security refresh, inspected .github/workflows/test-wheel-linux.yml, test-wheel-windows.yml, ci-pixi-source-test.yml, coverage.yml, build-docs.yml, and ci-nightly.yml, plus ci/test-matrix.yml and both bindings roots' docs/test setup. Shared workflow changes apply to both majors; source matrices retain the driver-checksum metadata. The PYTEST PLUGIN BOOTSTRAP blocks in cuda_bindings_12/tests/conftest.py, cuda_bindings_13/tests/conftest.py, and cuda_core/tests/conftest.py match; all four package-local _build_shared.py paths resolve to the same canonical implementation.
Validation
Current hosted CI for the #3174-#3176 integration:run, attempt 1, at 34664b270a324b5fa7d401d52c964ecf7ea1b84a - passed, 105/105 jobs. This is the cumulative integration boundary for native builds, GPU tests, source/sdist checks, and documentation.
Latest auxiliary checks at this head pass or are intentionally skipped. GitHub retains four older cancelled duplicates, each superseded by a successful check at the same SHA.
Current local checks pass in full Git checkouts: 333 CI-tool tests at #3176, 346 at #3182, and 15 focused packaging tests. Full pre-commit run --all-files passes at both refreshed heads, including actionlint and Lychee. The tooling suite includes Git-based Pixi workspace discovery; it is not an archive-only suite. The local CUDA 13.4 TestVenv build and full QA run passed, covering Pathfinder, CUDA 13 bindings, PTDS, Cython interoperability, and Core. CUDA 12 native coverage is provided by the hosted matrix.
Local semantic checks cover plan selection, release routing, SCM milestones, Core ABI variants, bindings-source selection, and mandatory local-wheel coverage. A one-time comparison matched the former jq selector across platforms and run modes; the workflow-control helper was also exercised with an older artifact source that lacks it. Earlier extracted-shell checks covered Pixi environment selection and nightly-source diagnostics, alongside the SCM/registry cases. These shell cases do not constitute a separate hosted nightly run.
Historical hosted artifact-reuse evidence (before this security refresh). Two temporary draft PRs exercised the production resolver unchanged against successful frozen baseline run 40426114619, at feb25b1b3d3c1744b680bf54ff10986ed4e59953. Both actual workplans matched the expected selective plans; neither fell back to a full rebuild. These runs predate the current interpreter/CA and driver-checksum integration; they establish the earlier reuse behavior, not validation of the refreshed heads or suitable nightly override IDs.
CUDA 12 source-change case, #3237: run 40456909677 rebuilt CUDA 12 bindings/metapackage wheels while reusing Core, Pathfinder, and CUDA 13 wheels. All 28 build jobs passed, including bindings and Core Cython test-extension builds on Linux x86-64, Linux ARM64, and Windows. A re-uploaded Linux CPython 3.12 Core wheel is byte-identical to its baseline wheel. All 20 selected GPU tests (13 Linux and 7 Windows) and the final aggregate passed on the first attempt. That historical run completed successfully; no fixes or retries were needed.
Linux test-workflow case, #3238: run 40460578171 skipped every package-wheel build, downloaded and re-uploaded the baseline packages, and successfully built all selected Cython test extensions and Core test binaries. All 45 expected reused package artifacts were present in that rehearsal run. All 42 selected GPU tests (24 x86-64 plus 18 ARM64 Linux rows, covering both CUDA majors) and the final aggregate passed on the first attempt. The seven planned Windows, sdist, and Core API skips were accepted.
Both historical workflows passed on their first attempts, including documentation/link checks and their final aggregates. No fixes or retries were needed. These probes cover the two scenarios above; no separate Core-only or metapackage-only hosted probe is claimed.
Current hosted CI for the complete stack:run, attempt 3, at 341d286d865b012976898347c6728fda1e6c6a98 - passed, 105/105 jobs. This covers the cumulative stack and its runtime backports, rather than hosted release publication or backport execution.
One existing Windows Python 3.14t/Core row needed two failed-job retries: first for an access violation in incremental linking, then for a different graph-lifetime failure. Both cases passed on the final attempt and also passed at #3176; the affected Core sources are unchanged from main. No tests were skipped, serialized, or weakened for these retries. The graph failure remains a separate Core investigation; the passing retry does not establish that the suspected registry race is fixed.
Checklist
Focused tests protect selection, packaging, and release outcomes that could fail silently.
This description identifies the layer's scope and validation boundary.
Following up on the Fable 5.1 review: thanks for the thorough review. The actionable fixes are now in their owning layers, and the descriptions distinguish the review boundaries, compatibility changes, and evidence.
Packaging and support policy (#3174). Keeping the smaller wheel payload is intentional. The source comment and upcoming maintenance notes now say that wheels omit implementation sources/templates while retaining Cython declarations/includes; sdists retain the build inputs. An audit of the actual Linux cp312 candidate wheel found all 38 historical declaration/include filenames, with all 34 package-owned dependency edges resolving. A separate sdist-only build retained all 76 tracked Cython/template inputs and the packaging helpers. This was an archive audit, not another native build. The notes also record Python >=3.11. Python 3.14/3.15 support was already released, so it is not presented as new. The CUDA 12 driver guidance is a documentation correction, not a new runtime gate. Updated notes.
Hosted coverage. Full CI passed at the refreshed #3176 head feb25b1b3d3c1744b680bf54ff10986ed4e59953: run 40426114619. The completed previous failure logs exposed a process-global coredump setting race in free-threaded tests. We carried Mike's #3226 serialization fix and marked the corresponding CUDA 12 global test; helper-storage tests remain parallel. We have removed the stale run references from the validation sections.
Hosted artifact-reuse rehearsals. Two temporary draft PRs use the production resolver unchanged against successful baseline run 40426114619, at feb25b1b3d3c1744b680bf54ff10986ed4e59953. Both actual workplans exactly match the expected selective plans; neither fell back to a full rebuild.
CUDA 12 source-change case, #3237: run 40456909677 rebuilt CUDA 12 bindings/metapackage wheels while reusing Core, Pathfinder, and CUDA 13 wheels. All 28 build jobs passed, including bindings and Core Cython test-extension builds on Linux x86-64, Linux ARM64, and Windows. A re-uploaded Linux CPython 3.12 Core wheel is byte-identical to its baseline wheel. All 20 selected GPU tests (13 Linux and 7 Windows) and the final aggregate passed on the first attempt. The workflow is fully green; no fixes or retries were needed.
Linux test-workflow case, #3238: run 40460578171 skipped every package-wheel build, downloaded and re-uploaded the baseline packages, and successfully built all selected Cython test extensions and Core test binaries. All 45 expected reused package artifacts exist in the new run. All 42 selected GPU tests (24 x86-64 plus 18 ARM64 Linux rows, covering both CUDA majors) and the final aggregate passed on the first attempt. The seven planned Windows, sdist, and Core API skips were accepted.
Both complete hosted workflows passed on their first attempts, including documentation/link checks and their final aggregates. No fixes or retries were needed. These probes cover the two scenarios above; no separate Core-only or metapackage-only hosted probe is claimed.
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.
Historical docs and nightly rollout (#3176). The CI guide now gives an actual release.yml --ref 13.4.x dry-run recipe for v13.4.4; both the release workflow and its reusable docs workflow come from that historical branch. New main tooling still requires the registry recorded in the tagged source. Nightly explicitly diagnoses an incompatible artifact-source registry. Its instructions require the first successful, complete new-layout main run, and describe supplying a successful compatible run ID while that baseline is unavailable. The override selects the artifacts and source together; it does not reinterpret old artifacts. Rollout guidance, historical rerun recipe.
Instructions and counterpart checks (#3174). CUDA 12 now gets its standalone AGENTS guide at the first layer, and both bindings READMEs use --group test. The descriptions name the counterpart files inspected. One clarification: CUDA 12 does contain sealed cybind-generated inputs as well as build-time header parsing/template expansion; the guide distinguishes those from handwritten helpers and forbids manual edits to sealed output. CUDA 12 guide.
SCM decision. Retain the temporary local-only bridge through the first integration group, then make the explicit retained-milestone decision on validated main history and remove the bridge in a follow-up. Before the group lands, main still has broad tag selectors and the old CUDA 12 prerelease parser; introducing the shared milestone there would be premature. The lifecycle instructions now reserve preview targets across all release branches, explain what to do if an unreachable branch release consumes a target, and require matching milestones when moving minor selectors. No retained tag was created or pushed. Lifecycle policy.
Remaining small findings. Removed the obsolete Core-floor trigger, narrowed the large-file exceptions, and deleted the dead Python 3.10/Windows ARM64 branch. Pixi GPU full-test now prepares maintenance SCM before source builds and explicitly installs the required dependency, matching CPU build-smoke. The sdist fallback test is unchanged: the installed SCM backend does not search arbitrary ancestor repositories, and that proposed contamination did not reproduce. That test still checks real PKG-INFO fallback without a pretend version. The descriptions also state that the CI-tool suite runs in a full Git checkout, including Git-based Pixi workspace discovery; it is not an archive-only suite.
#3174-#3176 remain one integration group with separate review scopes. The later release, policy, and optional runtime layers remain separate. Hosted release publication/backport execution and instrumented proof of the optional coredump ownership fix are not claimed by these checks.
Relocate the established hardware, driver, visibility and timing accommodations from the source-integration layer. Preserve their contents exactly; the FieldId correction moves with the test maintenance.
Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
codex on behalf of Ralf:
Use verified workflow-owned Python for registry, nightly, coverage and Pixi helpers. Preserve hardened interpreter PATH in early documentation bootstrap shells and keep historical sources separate from control tools.
Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
codex on behalf of Ralf:
Require checksum-bearing driver matrices for nightly source overrides and current control-workflow security fixes before dispatching historical release tooling. Keep immutable release sources and fail-closed verification unchanged.
Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
Reviewing files that changed from the base of the PR and between feb25b1 and 34664b2.
Files ignored due to path filters: 1
cuda_bindings_13/pixi.lock is excluded by !**/*.lock
Files selected for processing: 9
.github/workflows/build-docs.yml
.github/workflows/ci-nightly.yml
.github/workflows/ci-pixi-source-test.yml
.github/workflows/coverage.yml
.github/workflows/test-wheel-linux.yml
.github/workflows/test-wheel-windows.yml
CONTRIBUTING.md
ci/README.md
cuda_bindings_12/tests/test_cuda.py
Files skipped from review as they are similar to previous changes: 1
ci/README.md
Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.
suggestion: Disable credential persistence for the build-job checkouts.
Neither build-job checkout performs a later Git push or fetch. The publishing job uses a separate checkout, so keep credentials enabled there. The build callers grant contents: write, so the two unused tokens remain in local Git configuration while later actions run.
IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
The reason will be displayed to describe this comment to others. Learn more.
Minor · Maintainability & Code Quality · Quick win
suggestion: Replace “wheels and test artifacts” with “wheel artifacts.” The exact-baseline flow reuses package wheels, while test jobs create and upload new test results. This wording currently suggests that prior test artifacts are reused. (raw.githubusercontent.com)
set -euo pipefail
printf'%s\n''--- CUDA 12 pytest configuration ---'
rg -n -C 8 '^\[tool\.pytest|markers|filterwarnings|strict-markers|pytest' cuda_bindings_12/pyproject.toml cuda_bindings_12/pytest.ini pyproject.toml pytest.ini 2>/dev/null ||trueprintf'%s\n''--- test runner and CUDA 12 job invocations ---'
sed -n '1,150p' ci/tools/run-tests
rg -n -C 8 'run-tests|test-ft|group test|cuda_bindings_12|bindings_12' .github ci --glob '*.yml' --glob '*.yaml' --glob '*.toml' --glob '*.sh'||test"$?" -eq 1
printf'%s\n''--- plugin dependency and registration references ---'
rg -n -C 8 'pytest-run-parallel|thread_unsafe|pytest11|pytest_configure|markers' cuda_bindings_12 ci .github --glob '*.py' --glob '*.toml' --glob '*.ini' --glob '*.yml' --glob '*.yaml' --glob '*.sh'||test"$?" -eq 1
Repository: NVIDIA/cuda-python
Length of output: 41718
important: Register thread_unsafe in the CUDA 12 test configuration.
The bindings test command runs from cuda_bindings_12 and uses cuda_bindings_12/tests/pytest.ini, which does not register thread_unsafe. Normal jobs do not install pytest-run-parallel, so they can emit PytestUnknownMarkWarning.
Suggested fix
[pytest]
norecursedirs = cython
markers =
+ thread_unsafe: mark test as thread unsafe (provided by pytest-run-parallel)
# Keep this authorship marker registry in sync across all pytest config roots.
This branch has not been deployed
No deployments
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
CI/CDCI/CD infrastructurecuda.bindingsEverything related to the cuda.bindings modulecuda.coreEverything related to the cuda.core modulecuda.pathfinderEverything related to the cuda.pathfinder moduleenhancementAny code-related improvements
2 participants
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.
codex on behalf of Ralf:
Summary
Exercise the CUDA 12 and CUDA 13 wheels built from
main, with explicit component and dependency-source coverage in the PR checks view.meta12andmeta13.lookup-run-id --artifactoption and reduce CI-tool tests to silent-failure outcomes. Scoped test guidance records this policy; package/runtime tests retain their own rules.format-patch/git am, using a compatible first nightly artifact source, and rerunning historical releases/docs from their historical workflow revision. Correct the documented CUDA 12 driver baseline; this adds no runtime driver-version gate.Shared GPU jobs keep runner usage bounded; their names and coverage summaries expose which suites actually run.
CUDA 12 NVML test maintenance accompanies CI activation: device visibility, PCI-information and Orin/Thor naming accommodations (#1590, #2065, #2437, #2788); serialized initialization and the driver 13.4 refcount skip (#2229, #2512); removal of the unstable energy-timing assertion (#2644); and the field-enum spelling correction (#2560). Driver probing occurs during test execution. These changes affect tests and their helper, not the installed runtime.
Process-global coredump tests are serialized for free-threaded runs, carrying Mike's #3226 fix and the matching CUDA 12 marker. Tests that only manipulate local helper storage remain parallel. This addresses the coredump setting race seen in the previous full runs without serializing unrelated tests.
Reading the Test Coverage
bindings PRmeans the selected root's artifact supplied by this CI run; the workplan identifies whether it was rebuilt or reused from the exact baseline.bindings floormeans the oldest published bindings supported by the Core wheel for that CUDA major. Floor rows test Core or the selected nightly integration, without running the bindings or metapackage suites.wheelsversuslocal CTKdescribes how toolkit libraries are supplied, independently of the bindings source.Development documentation builds the current CUDA 13 API from the checkout. The local CUDA 12 Pixi docs environment defaults to a published
12.9.*bindings package; install a matching source build when documenting API changes in the checkout. It needs a separate environment because both roots install the same package. Tagged releases publish their selected version without replacing sharedlatestpages or version selectors; the full publication procedure follows in #3178.Stack / Review Boundary
Previous: #3175. Next: #3177. 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 03b4153574b3.
Release Boundary
Future CUDA 13 releases tagged from this state retain the existing release flow. The transitional
backport_branchfield keeps legacy release-note and backport consumers working; toolkit selection uses the package-root registry. Releasing CUDA 12 frommainis enabled separately by #3177.Starting at this layer, release-documentation reruns and dry-runs against pre-registry tags require layout-compatible historical tooling with the applicable current CI security fixes on its control branch. The historical rerun recipe uses
13.4.xandv13.4.4only after that prerequisite is met; the immutable tagged source does not need to change.Nightly artifact auto-detection needs the first successful, complete main CI run containing the schema-2 registry, both bindings majors, and required driver-checksum metadata. The rollout instructions describe selecting a successful compatible run explicitly. The override selects artifacts and their source revision; registry compatibility alone is insufficient for old matrices that lack selected custom-driver hashes, and verification must not be bypassed.
Suggested Review Order
Counterpart Review
Inspected both bindings roots' test setup, README, install/support documentation, coredump tests, and documentation environments, plus Core floor testing and the shared Linux/Windows matrix rules. Both READMEs now use the same
--group testrecipe. CUDA 12 preserves its legacy sample/NVML layout and requires its own environment. All three marked pytest-bootstrap blocks match byte-for-byte, and all four package-local shared-helper paths resolve to the same implementation.For the security refresh, inspected
.github/workflows/test-wheel-linux.yml,test-wheel-windows.yml,ci-pixi-source-test.yml,coverage.yml,build-docs.yml, andci-nightly.yml, plusci/test-matrix.ymland both bindings roots' docs/test setup. Shared workflow changes apply to both majors; source matrices retain the driver-checksum metadata. ThePYTEST PLUGIN BOOTSTRAPblocks incuda_bindings_12/tests/conftest.py,cuda_bindings_13/tests/conftest.py, andcuda_core/tests/conftest.pymatch; all four package-local_build_shared.pypaths resolve to the same canonical implementation.Validation
Current hosted CI for the #3174-#3176 integration: run, attempt 1, at
34664b270a324b5fa7d401d52c964ecf7ea1b84a- passed, 105/105 jobs. This is the cumulative integration boundary for native builds, GPU tests, source/sdist checks, and documentation.Latest auxiliary checks at this head pass or are intentionally skipped. GitHub retains four older cancelled duplicates, each superseded by a successful check at the same SHA.
Current local checks pass in full Git checkouts: 333 CI-tool tests at #3176, 346 at #3182, and 15 focused packaging tests. Full
pre-commit run --all-filespasses at both refreshed heads, including actionlint and Lychee. The tooling suite includes Git-based Pixi workspace discovery; it is not an archive-only suite. The local CUDA 13.4 TestVenv build and full QA run passed, covering Pathfinder, CUDA 13 bindings, PTDS, Cython interoperability, and Core. CUDA 12 native coverage is provided by the hosted matrix.Local semantic checks cover plan selection, release routing, SCM milestones, Core ABI variants, bindings-source selection, and mandatory local-wheel coverage. A one-time comparison matched the former jq selector across platforms and run modes; the workflow-control helper was also exercised with an older artifact source that lacks it. Earlier extracted-shell checks covered Pixi environment selection and nightly-source diagnostics, alongside the SCM/registry cases. These shell cases do not constitute a separate hosted nightly run.
Historical hosted artifact-reuse evidence (before this security refresh). Two temporary draft PRs exercised the production resolver unchanged against successful frozen baseline run 40426114619, at
feb25b1b3d3c1744b680bf54ff10986ed4e59953. Both actual workplans matched the expected selective plans; neither fell back to a full rebuild. These runs predate the current interpreter/CA and driver-checksum integration; they establish the earlier reuse behavior, not validation of the refreshed heads or suitable nightly override IDs.Both historical workflows passed on their first attempts, including documentation/link checks and their final aggregates. No fixes or retries were needed. These probes cover the two scenarios above; no separate Core-only or metapackage-only hosted probe is claimed.
Current hosted CI for the complete stack: run, attempt 3, at
341d286d865b012976898347c6728fda1e6c6a98- passed, 105/105 jobs. This covers the cumulative stack and its runtime backports, rather than hosted release publication or backport execution.One existing Windows Python 3.14t/Core row needed two failed-job retries: first for an access violation in incremental linking, then for a different graph-lifetime failure. Both cases passed on the final attempt and also passed at #3176; the affected Core sources are unchanged from main. No tests were skipped, serialized, or weakened for these retries. The graph failure remains a separate Core investigation; the passing retry does not establish that the suspected registry race is fixed.
Checklist