Skip to content

CI: use shallow, blob-filtered CCCL submodule checkouts - #3392

Merged
jpascucci-nv merged 3 commits into
NVIDIA:mainfrom
jpascucci-nv:issue3351
Nov 6, 2026
Merged

jpascucci-nv merged 3 commits into
NVIDIA:mainfrom
jpascucci-nv:issue3351

Conversation

@jpascucci-nv

Copy link
Copy Markdown
Contributor

Description

closes #3351

actions/checkout applies its blob filter only to the root repository, leaving CCCL submodule clones unfiltered and causing slow, variable checkout times.

Fetch submodules separately with --depth=1 --filter=blob:none across build, source-test, coverage, and rendered-documentation jobs. Preserve full root history and release tags for setuptools-scm, plus URL syncing and forced checkout for reused workspaces.

Validation: fresh and reused checkout checks passed; nine workflow regression tests passed. Actionlint diagnostics are unchanged. Windows checkout timing remains unverified.

Checklist

  • I have read the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@jpascucci-nv jpascucci-nv added this to the cuda.core 1.3.0 milestone Nov 5, 2026
@jpascucci-nv
jpascucci-nv requested review from leofang and rwgk November 5, 2026 18:14
@jpascucci-nv jpascucci-nv self-assigned this Nov 5, 2026
@jpascucci-nv jpascucci-nv added the CI/CD CI/CD infrastructure label Nov 5, 2026
@coderabbitai

coderabbitai Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

Explain Change →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

Run configuration

Commits

Reviewing files that changed from the base of the PR and between d0f501c and 25fc813.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
Summary

Summary by CodeRabbit

  • Chores
    • Updated package build, test, and coverage workflows to fetch submodules separately using shallow, filtered checkouts.
    • The link-check workflow now fetches submodules only for the rendered documentation job.
  • Documentation
    • Added guidance for configuring submodule checkouts in package build workflows.
    • Updated source-clone instructions to require Git 2.36 or newer and use filtered downloads for repository files and submodules. Historical file contents are fetched as needed, while commit history and release tags remain available.

CI workflows now disable automatic submodule checkout and explicitly initialize submodules recursively with depth 1 and blob filtering. Contributor and installation clone instructions add partial-clone filters.

Changes: CCCL partial checkout

Layer / File(s) Summary
Explicit CCCL submodule checkout
.github/workflows/build-wheel.yml, .github/workflows/ci-pixi-source-test.yml, .github/workflows/coverage.yml, .github/workflows/lychee.yml, .github/workflows/test-sdist-linux.yml, .github/workflows/test-sdist-windows.yml, ci/README.md
CI workflows disable automatic submodule checkout and explicitly synchronize and initialize submodules recursively with depth 1 and blob filtering. The README documents this procedure and notes that root checkout filtering does not apply to submodules.
Partial-filter clone guidance
CONTRIBUTING.md, cuda_core/docs/source/install.rst, cuda_pathfinder/docs/source/install.rst
Clone commands add blob filtering for the repository and its submodules. Contributor guidance describes deferred retrieval of historical file contents while retaining commit history and release tags.

Assessment against linked issues

Objective Addressed Explanation
Reduce CCCL submodule fetch time with shallow, blob-filtered submodule checkout [#3351] ✅

Change: Other · Severity of issue fixed: Medium

Merge Risk: Low · previous review d0f50

Users on older Git, including Ubuntu 22.04, cannot run the documented source-install clone commands until the docs state the Git 2.36 requirement and offer a fallback. A possible Git ownership failure in two container CI jobs is unconfirmed. The change is otherwise a focused CI checkout optimization.

- [ ] Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Review info

Run configuration

Commits

Reviewing files that changed from the base of the PR and between e01e453 and 3db263d.

Files selected for processing: 7

  • .github/workflows/build-wheel.yml
  • .github/workflows/ci-pixi-source-test.yml
  • .github/workflows/coverage.yml
  • .github/workflows/lychee.yml
  • .github/workflows/test-sdist-linux.yml
  • .github/workflows/test-sdist-windows.yml
  • 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.

Comment thread .github/workflows/coverage.yml Resolved
@github-actions

github-actions Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot added cuda.core Everything related to the cuda.core module cuda.pathfinder Everything related to the cuda.pathfinder module labels Nov 5, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Review info

Run configuration

Commits

Reviewing files that changed from the base of the PR and between 3db263d and d0f501c.

Files selected for processing: 3

  • CONTRIBUTING.md
  • cuda_core/docs/source/install.rst
  • cuda_pathfinder/docs/source/install.rst

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.

Comment thread cuda_core/docs/source/install.rst Resolved
jpascucci-nv and others added 3 commits November 6, 2026 07:08
closes NVIDIA#3351

actions/checkout applies its blob filter only to the root repository,
leaving CCCL submodule clones unfiltered and causing slow, variable
checkout times.

Fetch submodules separately with --depth=1 --filter=blob:none across
build, source-test, coverage, and rendered-documentation jobs. Preserve
full root history and release tags for setuptools-scm, plus URL syncing
and forced checkout for reused workspaces.

Validation: fresh and reused checkout checks passed; nine workflow
regression tests passed. Actionlint diagnostics are unchanged.
Windows checkout timing remains unverified.
— codex GPT-6 on behalf of Ralf —

Preserve root history and release tags while fetching CCCL separately with
shallow history and blob filtering. Align the contributor guide and package
installation examples, and control submodule fetches explicitly on updates.

Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
— codex GPT-6 on behalf of Ralf —

Use Git's native submodule filtering in each clone example and retain the
ordinary update instructions. Preserve full commit history and release tags
while keeping the filtered recipe directly visible to users and agents.

Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
@jpascucci-nv
jpascucci-nv enabled auto-merge (squash) November 6, 2026 16:01
@jpascucci-nv
jpascucci-nv merged commit ceb91b5 into NVIDIA:main Nov 6, 2026
119 checks passed
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.core Everything related to the cuda.core module cuda.pathfinder Everything related to the cuda.pathfinder module

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI: slow Checkout cuda-python on Windows — submodule clone not partial-cloned

2 participants