Repository navigation
docs(ci): the shared-key comment stated a fact the first warm run disproved - #618
Conversation
CLOUD-840 Every PR compiles the Rust tree cold: the caches exist, are byte-identical across PRs, and no PR can read another's — so `windows` writes 182MB per run that nothing ever restores
Why CLOUD-813 measured Measured 2026-08-21 from the Actions cache API, not inferred from step timings:
This reverses a recorded decision, and that decision named the conditions. CLOUD-176 considered base-branch warming and recommended against it: about 178s of job-time per merge to save about 60s on one pull request's first run, "roughly 3× the job-time it saves." That costing lists four legs — It also wrote down when to revisit, and both conditions now hold:
Recording the reversal rather than quietly re-filing, because CLOUD-176's recommendation is written down and someone will find it. Refinement — Ready (warm the base branch, and get under the cap so the warm entry survives)
Acceptance
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe Windows Rust cache documentation now describes the measured cache-key formats. It states that ChangesRust cache documentation
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to This localized documentation correction does not change workflow behavior, and no actionable merge-blocking risk remains after normal checks and review. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
…proved `96a665a` added `shared-key` to the `windows` job and claimed, in the comment and in its commit message, that the composed cache key stayed byte-identical because the value matches `key` — so nothing existing was orphaned. The two live entries say otherwise: before v0-rust-windows-windows-Windows_NT-x64-d44ea756-e905c9ae after v0-rust-windows-Windows_NT-x64-d44ea756-97231082 `shared-key` REPLACES the job-id component; it does not substitute the same word into it. One component where there were two. So adding it did orphan every prior entry. The effect is harmless — those entries were per-PR and unreadable across pull requests anyway, 40 of them had already been deleted to get under the 10GB cap, and the migration costs one cold build on each side. What is not harmless is the comment: this repository's gates exist because a claim nobody checked is worse than no claim, and a comment asserting a measured fact has to assert the one that was actually measured. The first warm run is what produced the counter-evidence, which is the argument for landing a measurement rather than reasoning about it: `v0-rust-windows-Windows_NT-x64-d44ea756-97231082`, 182.2MB, now on `refs/heads/main`. Refs: CLOUD-840
eac8369 to
82301e3
Compare
|
|
/fast-forward |



A one-comment correction, landed on its own because the thing it corrects is already on
main.96a665aaddedshared-keyto thewindowsjob and claimed — in the comment and in its commit message — that the composed cache key stayed byte-identical because the value matcheskey, so no existing entry was orphaned.The first warm run produced the counter-evidence:
shared-keyreplaces the job-id component; it does not substitute the same word into it. One component where there were two, so adding it did orphan every prior entry.The effect is harmless. Those entries were per-PR and unreadable across pull requests anyway, 40 of them had already been deleted to get under the 10GB cap, and the migration costs one cold build on each side. The comment is not harmless. This repository's gates exist because a claim nobody checked is worse than no claim, and a comment asserting a measured fact has to assert the one that was measured.
Worth naming the shape, since it is the argument for landing measurements rather than reasoning about them: the run I added to take a measurement is what disproved my own reasoning about the change that added it, inside one cycle.
While the warm run is on record
Run 32496045039,
cache-warm-windows, green: restore 218s,cargo nextest run --no-run345s, save 32s — 629s wall, ~21 billed minutes at 2×. Cold by construction, so the worst case rather than the answer.v0-rust-windows-Windows_NT-x64-d44ea756-97231082is now onrefs/heads/mainat 182.2MB, total cache 7.18GB.That 345s compile-only against 501s compile-plus-run also refines CLOUD-813: Windows execution is ~156s, 31% of the step, not the small share implied when nextest moved it by two seconds. Recorded there as a hypothesis, not a measurement.
Verification
mise run zizmorgreen,ci-local-paritygreen, and the comment is checked against the two live keys from the cache API rather than against the docs.DO-NOT-CLOSE CLOUD-840
Generated by Claude Code
Summary by CodeRabbit
shared-keyaffects cache keys.