ci: scope runner disk cleanup per job and trim rust pre-merge setup#3406
Open
hubcio wants to merge 3 commits into
Open
ci: scope runner disk cleanup per job and trim rust pre-merge setup#3406hubcio wants to merge 3 commits into
hubcio wants to merge 3 commits into
Conversation
numinnex
approved these changes
Jun 2, 2026
numinnex
previously approved these changes
Jun 2, 2026
mmodzelewski
previously approved these changes
Jun 2, 2026
Codecov Report✅ All modified and coverable lines are covered by tests. 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
🚀 New features to boost your workflow:
|
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.
mmodzelewski
approved these changes
Jun 3, 2026
numinnex
approved these changes
Jun 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
aggressiveinput tothe 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 updatein the test legs, since setup-rust-with-cache alreadyrefreshed the apt lists earlier in the same job.