Skip to content

ci: switch to mozilla/sccache 0.18 and drop obsolete ACTIONS_ vars - #3024

Draft
juenglin wants to merge 2 commits into
NVIDIA:mainfrom
juenglin:sccache-unification
Draft

juenglin wants to merge 2 commits into
NVIDIA:mainfrom
juenglin:sccache-unification

Conversation

@juenglin

@juenglin juenglin commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Description

Use mozilla/sccache v0.18.0 in both workflows that use sccache, and remove the ACTIONS_* variables that sccache doesn't read.

Why drop the rapidsai fork

build-wheel.yml has installed rapidsai/sccache since #1914. The stated reason there was that mozilla-actions/sccache-action hadn't been updated since Oct 2025. That is no longer true (v0.0.11 was released 2026-07-29), and the history doesn't mention any other reason.

Nothing cuda-python builds uses what the fork adds. The fork is based on mozilla's v0.18.0 (v0.18.0-rapids.6) and adds mostly CUDA toolchain caching (nvcc sub-tool handling for cudafe++, cicc, ptxas) and distributed-compile work. Our CI doesn't use those:

  • The repo has no .cu sources in cuda_bindings, cuda_core or cuda_pathfinder. The only .cu file is the test binary cuda_core/tests/test_binaries/saxpy.cu.
  • The sccache stats in a recent CI run (run 37351253800, Build linux-64, CUDA 13.4.2 / py3.10) show only c++ [gcc] compiles. There are no CUDA, PTX or CUBIN entries.
  • sccache is Linux-only here; Windows builds don't use it.
  • --show-adv-stats and --show-stats --stats-format=json (used by .github/actions/sccache-summary) exist in mozilla's sccache.

Changes

  • build-wheel.yml: replace the curl install of the rapidsai fork and the github-script step with mozilla-actions/sccache-action (pinned to the v0.0.11 SHA) with version: v0.18.0 and disable_annotations: 'true'. The action downloads and checksum-verifies the binary and exports the cache variables. Stats are still reported from inside the cibuildwheel container, so the action's host-side reporting is turned off.
  • test-sdist-linux.yml: pin the action to version: v0.18.0 and remove the github-script step. It only re-exported the two obsolete variables.
  • Remove ACTIONS_CACHE_URL and ACTIONS_RUNTIME_URL: sccache's GitHub Actions cache backend (OpenDAL ghac) does not read ACTIONS_RUNTIME_URL at all, and reads ACTIONS_CACHE_URL only when the v1 cache service is in use. With ACTIONS_CACHE_SERVICE_V2 set, as it is here, only ACTIONS_RESULTS_URL and ACTIONS_RUNTIME_TOKEN are used. That is also what sccache's own docs/GHA.md lists.
  • Still forwarded into the cibuildwheel container: ACTIONS_CACHE_SERVICE_V2, ACTIONS_RESULTS_URL and ACTIONS_RUNTIME_TOKEN. The container doesn't get them from the runner otherwise.

Benefits

  • Both workflows install sccache the same way, from one action.
  • About 20 lines of custom install and env-export shell are removed, along with two variables nobody reads.
  • Dependabot's monthly action bumps cover the install. The sccache version is set by one version: input in each workflow.

How to review

Compare the sccache stats in the Build linux-* jobs with the earlier run linked above (cache hit rate and Cache hits (c++ [gcc])). Also check that the sccache-summary table still renders.

Checklist

  • New or existing tests cover these changes. (CI workflows only; exercised by this PR's CI run.)
  • The documentation is up to date with these changes.

Install mozilla/sccache v0.18.0 (checksum-verified) in build-wheel.yml
instead of the rapidsai fork, and pin the same version in
test-sdist-linux.yml. Remove ACTIONS_CACHE_URL and ACTIONS_RUNTIME_URL,
which sccache's GHA v2 cache backend does not read, and drop the
now-redundant github-script step in test-sdist-linux.yml.
@copy-pr-bot

copy-pr-bot Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@github-actions github-actions Bot added the CI/CD CI/CD infrastructure label Oct 5, 2026
…IONS_ vars

Install sccache with mozilla-actions/sccache-action (pinned to v0.18.0) in
build-wheel.yml and test-sdist-linux.yml instead of the rapidsai fork, and
remove the custom install and github-script steps. Drop ACTIONS_CACHE_URL
and ACTIONS_RUNTIME_URL, which the GHA v2 cache backend does not read.
@juenglin

juenglin commented Oct 5, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test 235faa3

@juenglin juenglin added the enhancement Any code-related improvements label Oct 5, 2026
@juenglin juenglin self-assigned this Oct 5, 2026
@juenglin juenglin added this to the cuda.core 1.3.0 milestone Oct 5, 2026
@leofang

leofang commented Oct 5, 2026

Copy link
Copy Markdown
Member

@juenglin let's not revert. We (CUDA C++/Python) stand behind RAPIDS and want to continue using the RAPIDS fork maintained by NVIDIANs (aka @trxcllnt). If there is any blocker, please let Paul know.

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

@trxcllnt

trxcllnt commented Oct 6, 2026 •

Copy link
Copy Markdown
Member

@juenglin Yeah, let me know if you have any issues. Mozilla's fork isn't sound for caching CUDA files, and ours has a number of other major improvements (like sharing the preprocessor cache). Also, it's about to get an order of magnitude faster than Mozilla's for caching all compilation types (and will be able to cache non-compilation steps, like linking, too).

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/CD CI/CD infrastructure enhancement Any code-related improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants