Repository navigation
Conversation
|
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. |
808952c to
6e5682c
Compare
bdbd76b to
84f7a85
Compare
84f7a85 to
2f59a5e
Compare
7f25950 to
7598449
Compare
7598449 to
9b8ac76
Compare
|
/ok to test 9b8ac76 |
|
/ok to test 19865b0 |
|
The following concerns I had from my last review are still not complete:
There is a significant amount of complexity here to work around the fact that we don't have an existing
This is 345 lines of repeated boiler plate that we could remove.
This was partially addressed. There is still some Not worth moving
Worth simplifying
I'd leave (I did not finish reviewing this, because I understand #3182 and #3322 are superceding this). |
|
— codex GPT-6 on behalf of Ralf — Thanks, Mike. I agree that a retained The earlier response deferred this until the validated per-line configuration lands on main. The simplification is still unimplemented; the remaining question is its timing. There is a tag-placement issue to handle: main’s CUDA 13 version selector still matches One straightforward sequence is:
Waiting until after integration is a conservative ordering choice, not a setuptools-scm requirement. If we want the deletion before integration, we could evaluate a safe earlier tag anchor or a small preparatory selector PR. I’d like to settle that ordering explicitly so this temporary machinery has a concrete removal point. |
|
Thanks Mike. I've been organizing this work into safe, meaningful steps. I'd like to complete and validate the migration off For these two suggestions in your follow-up review, I propose follow-ups:
I agree this would improve maintainability. I propose extracting the shared implementation after migration, preserving the toolkit-switching and wheel-merging sequence.
Agreed. I propose replacing both tables with the matrix JSON while retaining the caller’s I'd be happy to prepare two follow-up PRs now to address your requests, and stack them above #3182, so they can be reviewed alongside the migration and merged afterward. Would that work for you? |
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
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 <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
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 <[email protected]>
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 <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
6bbd456 to
a8089af
Compare
Signed-off-by: Ralf W. Grosse-Kunstleve <[email protected]>
— codex GPT-6 on behalf of Ralf —
Layer 5 of 8; last of the review group #3174 + #3175 + #3176, which lands as one merge. This PR is the group's full-CI target. Previous: #3175. Next: #3177. Stack map at the bottom.
The current tagging proposal can land shared prerequisite #3314 first, create the retained
v12.9.11a0milestone, then restack both alternatives onto that commit and remove the bootstrap.What this PR does
The test side of running both bindings majors from
main, plus the documentation that explains the result.test-wheel-linux.yml,test-wheel-windows.yml: matrix rows are annotated from the registry by the newci/tools/select_test_matrix.py(replaces a jq program duplicated in both files). Rows whose toolkit matches a registered root test that root's wheels from this run; older-toolkit rows test Core against published floor bindings. Job names say what runs, for examplepathfinder+bindings12+core12+meta12 / py3.12, CTK12.9.1 (wheels; bindings PR). A PR cannot silently lose a required local-wheel row. CI tools come from the workflow revision (.ci-control), so nightly can test an older artifact source with current tooling.ci-nightly.yml: extracts onlyci/versions.ymlfrom the artifact-source archive, reads that registry, and stops with a clear message if that source predates it (rollout recipe inci/README.md).coverage.yml,ci-pixi-source-test.yml: registry-driven; the pixi smoke selects roots from the plan and runs the version preview bootstrap for the CUDA 12 root. Scheduled GPU source tests cover both registered environments; manual dispatch selects one. The container checkout explicitly trusts its workspace before the bootstrap.build-docs.yml: tooling from a.ci-controlcheckout, package data from the release source; CUDA 13 docs built against the checkout's bindings;build_docs.shkeeps.devandrcversions out of the stable directory.CONTRIBUTING.md(CI overview),ci/README.md(reading CI jobs and summaries, nightly rollout, historical reruns), both roots' install pages, CUDA 12 driver baseline correction.After the group merges
mainbuilds, tests, and documents both majors; CUDA 12 bindings for Core come from the same run, not from the12.9.xbranch.mainneed Release: select bindings artifacts from tagged package configuration #3177.mainrun before auto-detection works; until then dispatch it with a compatiblerun-id(recipe inci/README.md). Docs reruns and dry runs for tags from before the registry need the13.4.xbranch tooling.Where to look
ci/tools/select_test_matrix.py: short and self-contained..github/workflows/test-wheel-linux.yml: thin matrix wrapper plus suite execution (the Windows file mirrors it).ci/tools/run-tests: which bindings each suite installs.ci/README.md: "Reading CI Jobs and Summaries" and "Nightly Artifact Sources And Rollout".All changes (35 files; 34 without the lockfile, +1,116 / -510)
Workflows:
test-wheel-linux.yml,test-wheel-windows.yml,ci-nightly.yml,coverage.yml,ci-pixi-source-test.yml,build-docs.yml,.github/actions/doc_preview/action.yml(pin bump).Tools:
select_test_matrix.py(new),run-tests,lookup-run-id(orphaned--artifactoption removed), tests (test_select_test_matrix.pynew;test_merge_cuda_core_wheels.py; workflow-text tests removed).CUDA 12 tests:
cuda_bindings_12/tests/nvml/{test_cuda.py,test_init.py,test_pynvml.py,util.py},cuda_bindings_12/tests/test_cuda.py.Docs and environments:
CONTRIBUTING.md,ci/README.md,ci/ci-pipeline.mmd,cuda_bindings_12/docs/{README.md,source/install.md,source/release/12.X.Y-notes.rst},cuda_bindings_13/docs/{README.md,build_docs.sh,source/install.rst,source/support.rst},cuda_bindings_13/pixi.toml+ lock (docs feature builds bindings from source),cuda_core/docs/source/install.rst,cuda_python/docs/{README.md,environment-docs.yml},toolshed/setup-docs-env.sh.Review history and validation
--artifactoption (removed), a CI-test policy (nowci/tools/tests/AGENTS.md; the suite shrank accordingly), and simplification suggestions (Python matrix selection and Python-written build environment adopted; composite action for the duplicated build blocks deferred; realv12.9.11a0tag initially deferred until the group landed). Re-checked on 11-01 (summary).34664b27(run 40996807619, 105 jobs); the complete stack passed at cuda.bindings: backport CUDA 12 runtime maintenance fixes #3182's pre-rebase head341d286d(run 40997121153, attempt 3, 105 jobs).632711bd254d83397f415532021c5392cd86cdcc(rebased ontomain57b27097, with the latest simplification commits): run 41373891909 finished with 103 of 105 jobs green; one GPU job (linux-64 WSL, RTX 4090, Python 3.12, CTK 13.4.2) failed in the cuda.bindings benchmark smoke step and took the aggregator with it. Not yet triaged; the CUDA 13 bindings sources are unchanged frommain.9bfd39eac8a0d1d57c8b53702f13874a691a37d9: 363 CI-tool tests and full pre-commit passed. Hosted CI passed on #3355 and the alternative stack ending at #3322.Stack map: review scopes and merge units
cuda_bindings_12/, byte-identical to the12.9.xbranchmain; planner; version preview bootstrapbackport_branchLayers 3 to 5 are review boundaries, not working intermediate states: #3174 alone breaks CI (workflows still read the removed
cuda.build.version), and #3175 alone fails actionlint (callers pass an input the test workflows only accept in #3176). The plan is to review them separately and land the reviewed group as one merge. #3176 is the full-CI target for the group.The staged stack #3314-#3322 is the alternative in which every layer is mergeable on its own; both stacks reach the same end state, except that the staged stack keeps compatibility routes for older artifact sources and retained CUDA 13 tags.