pixi: add a docs environment for the cuda_python metapackage - #2444
Draft
rparolin wants to merge 1 commit into
Draft
pixi: add a docs environment for the cuda_python metapackage#2444rparolin wants to merge 1 commit into
rparolin wants to merge 1 commit into
Conversation
cuda_python is the only sub-package without a pixi.toml, yet it owns the top-level documentation -- the landing page and the release notes index that the per-package docs hang off of. Building those locally meant hand-rolling a conda environment with toolshed/setup-docs-env.sh, while every sibling just runs a pixi task. Add cuda_python/pixi.toml with a `docs` environment mirroring cuda_python/docs/environment-docs.yml (what the build-docs workflow installs), plus a root `docs-python` task wired into the aggregate `docs` task: pixi run docs-python docs/build_docs.sh reads SPHINX_CUDA_PYTHON_VER back out of the installed cuda-python metadata, so the task first installs the metapackage with --no-deps. That is required rather than an optimization: cuda-python's runtime requirements are the published cuda-bindings / cuda-core / cuda-pathfinder wheels, which would shadow the sibling checkouts. It also avoids duplicating the setuptools-scm tag_regex that setup.py uses to derive the version. This mirrors the "Install all packages" step of .github/workflows/build-docs.yml. Out of scope: stitching the four builds into the single published site is still cuda_python/docs/build_all_docs.sh, and the build-docs workflow still uses setup-miniconda rather than pixi. Verified with `pixi run docs-python` -- builds clean (1 pre-existing warning) into docs/build/html/13.3.2 with the version resolved from setuptools-scm. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
rparolin
marked this pull request as draft
July 29, 2026 00:34
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. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What
cuda_pythonis the only sub-package without apixi.toml, yet it owns the top-level documentation — the landing page and the release-notes index that the per-package docs hang off of. Building those locally meant hand-rolling a conda environment withtoolshed/setup-docs-env.sh, while every sibling just runs a pixi task.Adds
cuda_python/pixi.tomlwith adocsenvironment mirroringcuda_python/docs/environment-docs.yml(what thebuild-docsworkflow installs), plus a rootdocs-pythontask wired into the aggregatedocstask:Why the
--no-depsinstall stepdocs/build_docs.shreadsSPHINX_CUDA_PYTHON_VERback out of the installedcuda-pythonmetadata, so the task installs the metapackage first.--no-depsis required rather than an optimization:cuda-python's runtime requirements are the publishedcuda-bindings/cuda-core/cuda-pathfinderwheels, which would shadow the sibling checkouts insite-packages.Going through the real install also avoids duplicating the
setuptools-scmtag_regexthatcuda_python/setup.pyuses to derive the version — one more copy of a version rule is the last thing this repo needs. This mirrors the "Install all packages" step of.github/workflows/build-docs.yml.Out of scope
cuda_python/docs/build_all_docs.sh; the new rootdocstask builds each package's docs in its own tree.build-docs.ymlstill usessetup-minicondarather than pixi, so the pixidocsenvironments across all four packages remain unexercised by CI. Worth a follow-up — that is exactly how the pixi source build was allowed to rot before Pixi rebuilds all 36 Cython extensions on everypixi run(editable install temp dirs) #2138.environment-docs.yml,toolshed/setup-docs-env.sh, and now fourpixi.tomlfiles. This PR adds the fourth copy rather than fixing the duplication; consolidating is a separate change and I did not want to bundle it.Verification
pixi run docs-pythonbuilds clean (1 pre-existing warning) intodocs/build/html/13.3.2, with the version resolved from setuptools-scm.PLC Local Security Evidence (Advisory)
Local advisory checks only. Authoritative release gates remain Pulse, SonarQube, Coverity, BlackDuck, nSpect, ScanSpect, OSRB, and Anchore — none of the rows below are release-gate results.
gitlab-master.nvidia.com:5005(needs a PAT withread_registry)pixi.lockis a conda+PyPI lockfile; pip-licenses reads only installed Python distribution metadata and has nopixi.lockparser. BlackDuck + OSRB remain authoritative