Skip to content

ci: scope runner disk cleanup per job and trim rust pre-merge setup#3406

Open
hubcio wants to merge 3 commits into
masterfrom
disk-space-ci
Open

ci: scope runner disk cleanup per job and trim rust pre-merge setup#3406
hubcio wants to merge 3 commits into
masterfrom
disk-space-ci

Conversation

@hubcio
Copy link
Copy Markdown
Contributor

@hubcio hubcio commented Jun 2, 2026

The rust coverage baseline ran instrumented cargo-llvm-cov builds that
exhausted the runner disk ("No space left on device" at ~34 MB free);
object sizes roughly double under instrumentation and the light cleanup
(~12 GiB) left too little headroom. Add an opt-in aggressive input to
the free-disk-space action that runs jlumbroso/free-disk-space (~30+ GiB,
already on the ASF actions allowlist) instead of the light removal,
threaded through setup-rust-with-cache and enabled only on the coverage
job. The .NET SDK is preserved when provisioned so dotnet jobs stay safe.

The inverse also holds. The light cleanup costs ~20-45s, but the runner
has ~89 GiB free before it runs, far more than any non-coverage rust leg
needs. Make disk cleanup opt-out per task and skip it on the light legs
(fmt, sort, clippy, check, machete, doctest); the disk-heavy legs
(test-*, compat, miri, verify-publish, cross-builds) keep it. Every other
caller keeps the light path through the default.

While in the rust pre-merge action, two further setup trims: install
cargo-sort and cargo-machete from taiki-e/install-action prebuilt
binaries instead of compiling them from source on every run (cargo-http-registry
stays a source build, no prebuilt exists), and drop a redundant second
apt-get update in the test legs, since setup-rust-with-cache already
refreshed the apt lists earlier in the same job.

@github-actions github-actions Bot added the S-waiting-on-review PR is waiting on a reviewer label Jun 2, 2026
numinnex
numinnex previously approved these changes Jun 2, 2026
mmodzelewski
mmodzelewski previously approved these changes Jun 2, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 2, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 74.43%. Comparing base (5858410) to head (8aa35e9).

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #3406      +/-   ##
============================================
- Coverage     74.46%   74.43%   -0.03%     
  Complexity      943      943              
============================================
  Files          1231     1231              
  Lines        120911   120911              
  Branches      97648    97677      +29     
============================================
- Hits          90042    90006      -36     
+ Misses        27918    27913       -5     
- Partials       2951     2992      +41     
Components Coverage Δ
Rust Core 75.61% <ø> (-0.01%) ⬇️
Java SDK 58.44% <ø> (ø)
C# SDK 69.41% <ø> (-0.55%) ⬇️
Python SDK 81.06% <ø> (ø)
Node SDK 91.53% <ø> (+0.01%) ⬆️
Go SDK 40.20% <ø> (ø)
see 30 files with indirect coverage changes
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

The rust coverage baseline ran instrumented cargo-llvm-cov
builds that exhausted the runner disk ("No space left on
device" at ~34 MB free); object sizes roughly double under
instrumentation and the light cleanup (~12 GiB) left too
little headroom.

Add an opt-in `aggressive` input to the free-disk-space
action that runs jlumbroso/free-disk-space (~30+ GiB,
already on the ASF actions allowlist) instead of the light
removal, threaded through setup-rust-with-cache. Enabled
only on the rust coverage job; all other callers keep the
light path via the default. The .NET SDK is preserved when
provisioned so dotnet jobs stay safe.
@hubcio hubcio dismissed stale reviews from mmodzelewski and numinnex via 561bbb5 June 2, 2026 12:45
@hubcio hubcio changed the title ci: free more runner disk for rust coverage baseline ci: scope runner disk cleanup per job and trim rust pre-merge setup Jun 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-review PR is waiting on a reviewer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants