build(nix): stop shipping 727MB of rust-docs in every CI job's closure - #1747
Open
daniel-noland wants to merge 1 commit into
Open
build(nix): stop shipping 727MB of rust-docs in every CI job's closure#1747daniel-noland wants to merge 1 commit into
daniel-noland wants to merge 1 commit into
Conversation
daniel-noland
requested review from
sergeymatov
and removed request for
a team
August 23, 2026 23:56
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
…ust-docs Verified by set-diffing the joined component paths of the three variants: the resulting toolchain differs from today's by rust-docs and nothing else. Every rust-built store path in the dev shell changes hash, so the first CI run after this repopulates that half of the cache. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Daniel Noland <daniel@githedgehog.com>
daniel-noland
force-pushed
the
pr/daniel-noland/rust-docs-closure
branch
from
August 23, 2026 23:56
2873bf8 to
72c2398
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
mvachhar
approved these changes
Aug 24, 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.
Stacked on #1746 — review/merge that first.
fromRustupToolchainappliescomponentsas extensions on top of a profile,and
profiledefaults to rustup'sdefault, which already carriesrust-docs.So
rust-docswas arriving twice, and deleting it from the component list alonewould have removed nothing.
Naming
profile = "minimal"is what actually drops it. Verified by set-diffingthe joined component paths of the toolchain derivation across three variants:
rust-docsin the joined paths"rust-docs"listed, noprofile)profilestill unsetprofile = "minimal")A full
diffof the deduplicated path sets between the last two shows exactlyone line:
rust-docs. Nothing else about the toolchain moves.passthru.availableComponents.rust-src— whichdefault.nixuses in threeplaces — still resolves to the same store path.
Why bother
727MB of prebuilt HTML, in the closure of all 8 dev-shell jobs. The lab runners
are ephemeral (
directory /nix does not exist; creating itevery job), so it ispulled over the network each time, not cached on disk. Measured against the
current dev shell: 5.96GB closure, 325 paths, ~22s to realize.
Nothing in the tree reads it —
grepforrust-docs,share/doc/rust, andrustup docfinds only this comment.Cost
Every rust-built store path in the shell changes hash, so the first CI run after
this merges repopulates that half of Cachix.
🤖 Generated with Claude Code