Skip to content

ci: cache key hygiene improvements + cache clippy & msrv#2833

Open
abnobdoss wants to merge 1 commit into
apache:mainfrom
abnobdoss:ci/expand-gha-rust-cache-key
Open

ci: cache key hygiene improvements + cache clippy & msrv#2833
abnobdoss wants to merge 1 commit into
apache:mainfrom
abnobdoss:ci/expand-gha-rust-cache-key

Conversation

@abnobdoss

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

  • None. CI maintenance.

What changes are included in this PR?

Adds ImageOS and hashFiles to every rust-cache key, disables the built-in environment hash, and adds caches to clippy and msrv.

clippy and msrv have no cache and compile the full dep graph from scratch every run (227-271s each, compared to ~100s for cached build jobs).

The built-in environment hash includes all installed Rust toolchains, not just the one the job uses. Background runner-image changes (toolchain updates, image rolls, env var differences) silently change the hash and cause cache misses. For example, between July 15-16 runners rolled from preinstalled Rust 1.96 to 1.97, and in run 29465370996 jobs within the same CI run landed on different image versions, so some hit the cache and some missed, even though the actual build toolchain hadn't changed.

Replacing the environment hash with ImageOS and hashFiles over the workflow YAML, Makefile, and Cargo.toml keys the cache on what the build actually depends on.

Are these changes tested?

  • This keying scheme has been running on a fork across multiple image transitions without manual cache eviction.
  • Key-only change; no build logic is altered. The first main push after merge cold-populates all caches under the new keys.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant