Use the default shallow checkout for jobs that only read files or test prebuilt
wheels. Source builds need complete commit ancestry and release tags so
setuptools-scm can derive each package's version.
For those jobs, use fetch-depth: 0 with filter: blob:none. The checkout
action fetches complete ancestry for all branches and tags, while the blob
filter skips historical file contents. This avoids downloading the large
historical gh-pages contents discussed in issue #2197. Git retrieves file
contents as needed when checking out the requested commit.
CI change detection uses this full-history checkout for PR mirrors, so the
actual PR base branch is available when computing its merge base. Non-PR runs
need only a shallow checkout. PR-preview cleanup checks out its script
shallowly and fetches gh-pages separately when needed. Pathfinder release
preparation fetches its exact tag without requesting every other tag.
Git documents blob filtering in its
clone reference.
The pinned checkout action's
README
documents fetch-depth: 0 for fetching all history, branches, and tags.
Pixi lockfile freshness enforcement and automated refreshes are temporarily suspended because of Pixi #7215 and #7000. Repeated lockfile operations can change the committed solution without converging, so a general refresh is not a reliable repair.
The CI: pixi lockfile freshness check workflow still runs on every PR with its
existing pixi lock --check (all workspaces) check name. It succeeds with a
warning annotation and job summary explicitly reporting the suspension;
success does not mean freshness passed. The refresh workflow has no schedule.
Manual dispatch emits the same notice without solving dependencies, rewriting
lockfiles, pushing a branch, or creating a PR.
Manifest/lock consistency is not automatically enforced during this pause.
Necessary dependency changes require manual review and validation of the
affected manifests and lockfiles. Real source builds and tests continue using
PIXI_FROZEN=true, including nested pixi run calls, to build the checkout's
source packages against the committed dependency solution. The pinned Pixi
version and committed lockfiles are unchanged.
Re-enable maintenance only after a released Pixi passes both upstream issue
reproducers and repeated byte-stable update/lock/check cycles across all six
workspaces: the repository root, cuda_pathfinder, cuda_bindings, cuda_core,
benchmarks/cuda_bindings, and benchmarks/cuda_core. Verify both pixi update --no-install and pixi lock, followed by repeated pixi lock --check commands,
converge to unchanged lockfile bytes. Then restore strict freshness checks,
scheduled refreshes, and PIXI_LOCKED=true in source-build CI.
The workflows in this repository use the CI_CUSTOMIZATIONS_* namespace for
GitHub Actions configuration variables that opt an alternative synchronized
repository into repository-specific CI behavior. This keeps the workflow logic
shared without hard-coding the names of private repositories into the public
source tree.
These variables are non-secret strings configured under
Settings > Secrets and variables > Actions > Variables.
An unset variable, or any value other than the literal string true, leaves
the customization disabled. Do not store credentials or other secret values in
these variables.
| Variable | Default | Purpose |
|---|---|---|
CI_CUSTOMIZATIONS_SECURITY_SUITE_ENABLED |
Disabled | Enables the NVIDIA Security Suite after its runner, Actions variables, and OIDC/Vault authorization have been provisioned for the repository. |
The canonical NVIDIA/cuda-python repository does not need this variable
because its standard workflow behavior is enabled directly. Before enabling a
customization elsewhere, document the repository-specific prerequisites and
verification procedure in that repository's own documentation.