Skip to content

CI: tolerate transient sccache backend failures - #3346

Open
jpascucci-nv wants to merge 1 commit into
NVIDIA:mainfrom
jpascucci-nv:issue3273
Open

jpascucci-nv wants to merge 1 commit into
NVIDIA:mainfrom
jpascucci-nv:issue3273

Conversation

@jpascucci-nv

Copy link
Copy Markdown
Contributor

Description

closes #3273

Skip startup cache checks in Linux wheel builds so transient GHA cache failures do not prevent compilation. Configure cache I/O backoff after five errors within five seconds.

Apply the same backoff to Linux sdist builds using local-disk sccache. Omit startup-check skipping there because the disk check performs no I/O.

I don't think there's a way to test to see if this actually fixes anything, since the condition requires network degradation.

Validation: actionlint, YAML configuration checks, and git diff --check.

Checklist

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

closes NVIDIA#3273

Skip startup cache checks in Linux wheel builds so transient GHA cache
failures do not prevent compilation. Configure cache I/O backoff after
five errors within five seconds.

Apply the same backoff to Linux sdist builds using local-disk sccache.
Omit startup-check skipping there because the disk check performs no I/O.

Validation: actionlint, YAML configuration checks, and git diff --check.
@jpascucci-nv jpascucci-nv added this to the cuda.core 1.3.0 milestone Nov 3, 2026
@jpascucci-nv
jpascucci-nv requested review from leofang and rwgk November 3, 2026 21:04
@jpascucci-nv jpascucci-nv self-assigned this Nov 3, 2026
@jpascucci-nv jpascucci-nv added the CI/CD CI/CD infrastructure label Nov 3, 2026
@coderabbitai

coderabbitai Bot commented Nov 3, 2026

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Summary

Summary by CodeRabbit

  • Chores
    • Updated Linux package build and source distribution validation workflows with adjusted build-cache error handling.
    • Existing build conditions and other environment settings remain unchanged.

The Linux wheel and source-distribution workflows now set sccache environment variables that skip startup cache checks and limit cache errors.

Changes: sccache CI configuration

Layer / File(s) Summary
Configure sccache cache-failure settings
.github/workflows/build-wheel.yml, .github/workflows/test-sdist-linux.yml
Linux wheel builds set SCCACHE_SKIP_CACHE_CHECK=true and limit cache errors to 5 within 5 seconds. The source-distribution job sets the two cache error rate-limit variables to 5.

Assessment against linked issues

Objective Addressed Explanation
Configure sccache to skip the failing startup cache check and limit cache errors in the wheel workflow; apply error limits to the source-distribution workflow too [#3273] ✅

Suggested labels: github_actions, ci-workflow-health, bug

Fixed issue severity:

Change: Bug fix · Severity of issue fixed: Medium

Merge Risk: Minimal · up to da630

No actionable merge-blocking risk was identified in the changed CI configuration.

- [ ] Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts ### CodeRabbit Verify
  • Run CodeRabbit Verify to test the changes in this pull request.
Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 526b119 and da630fd.

Files selected for processing: 2
  • .github/workflows/build-wheel.yml
  • .github/workflows/test-sdist-linux.yml

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

@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

@rwgk rwgk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

codex GPT-6.1-Sol ultra:

No actionable findings in PR 3346. The settings make sense, and the exact pinned sccache release supports them.

  • SCCACHE_SKIP_CACHE_CHECK=true skips the startup probe that caused #3273. Subsequent cache failures allow compilation to proceed. This is the key fix. Implementation
  • The two rate-limit settings provide reasonable backoff: five recorded errors within a rolling five-second window temporarily bypass cache I/O. Operations resume as errors age out. Implementation
  • Omitting the startup setting for local-disk sdist builds is appropriate: their startup check performs no I/O. Implementation

One nonblocking caveat: this sccache version’s limiter counts read timeouts and write errors, but misses ordinary returned read errors. Its backoff coverage is therefore narrower than the PR description suggests; the startup fix still works. Source

I verified that the variables reach all three Linux wheel builds. Linux wheel and sdist CI passed; I did not simulate a cache outage.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI: make sccache resilient to transient cache-backend failures

2 participants