CI Caching Without Surprise Invalidation
Most CI slowdowns we see are not CPU problems — they are cache identity problems. Keys that mix OS, language version, lockfile hash, and an undocumented “build flavor” create miss storms that look random.
Prefer a small set of keys with explicit invalidation rules. Publish those rules next to the workflow file. Measure restore hit rate weekly so regressions are obvious.
When you must bust a cache, do it loudly: a changelog entry beats a silent comment in a YAML file that nobody re-reads.