Fix colliding ccache-rolling-ci keys in CI#3776
Conversation
ccache-rolling-ci keys in CI
The ccache and target_ws cache prefixes were nested as string prefixes: the clang-tidy and deprecation jobs used prefix `ccache-rolling-ci`, which GHA restore-keys prefix-matched against the ccov job's `ccache-rolling-ci-ccov` cache. Both jobs therefore restored the Debug+coverage (and wrong-compiler) ccov cache and missed on nearly every compile (clang-tidy hit rate ~7%, deprecation ~60%), causing 33-34 min full rebuilds. Give each build variant a distinct, non-nested token (ccov/tidy/default) in both the ccache and target_ws cache prefixes so each job restores only its own cache. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
eaead28 to
bcdf00f
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3776 +/- ##
==========================================
+ Coverage 46.28% 46.29% +0.02%
==========================================
Files 726 726
Lines 59507 59509 +2
Branches 7624 7623 -1
==========================================
+ Hits 27536 27544 +8
+ Misses 31805 31798 -7
- Partials 166 167 +1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Benchmarked the cache split. Measuring colcon build-phase time only (from the
What each column tells us:
A caveat on interpretation: this same-SHA re-run would also be fast under the old shared-key setup, but only for whichever job won the write race last time. The actual payoff of the split — that the next PR's 1st CI run can restore all three caches independently instead of seeing two clobbered ones — will only be measurable after this lands on main and a subsequent PR runs against it. So: a no-cost change that unlocks a hit-rate improvement which becomes observable on future PRs. (Failures on this PR are pre-existing flakes — |
Description
Fix long standing issue where both the
rolling + clang-tidyandrolling + deprecationjobs use [read: clobber] the sameccache-rolling-cikey.This splits them into dedicated keys and should significantly speed up rolling job CI times.
Checklist