ci(pr-checks): cache cargo with rust-cache so the cache stops growing
All checks were successful
PR Checks / rust-gates (pull_request) Successful in 9m21s
All checks were successful
PR Checks / rust-gates (pull_request) Successful in 9m21s
actions/cache restored the previous target/ through restore-keys and re-saved all of it under every new Cargo.lock hash, so each entry carried every older build and the runner's cache grew without bound. Swatinem/rust-cache strips the crate's own and stale artifacts before saving and saves only on a miss. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
@@ -69,18 +69,17 @@ jobs:
|
||||
rustup target add x86_64-pc-windows-gnu
|
||||
cargo --version && cargo fmt --version && cargo clippy --version
|
||||
|
||||
# Keyed on Cargo.lock: dependency builds are reused until a dep actually
|
||||
# changes. A cache miss only makes the run slower, never wrong.
|
||||
- name: Cache cargo registry and build dir
|
||||
uses: actions/cache@v4
|
||||
# Dependency builds are reused until a dep actually changes; a cache miss
|
||||
# only makes the run slower, never wrong. rust-cache rather than a plain
|
||||
# actions/cache of target/: it strips this crate's own artifacts and
|
||||
# anything stale before saving, and saves only on a miss. The plain cache
|
||||
# restored the previous target/ and re-saved all of it under every new
|
||||
# Cargo.lock, so each entry carried every older build and the runner's
|
||||
# cache grew without bound.
|
||||
- name: Cache cargo registry and dependency builds
|
||||
uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/.cargo/registry
|
||||
~/.cargo/git
|
||||
sidecar/target
|
||||
key: ${{ runner.os }}-cargo-${{ hashFiles('sidecar/Cargo.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-cargo-
|
||||
workspaces: sidecar -> target
|
||||
|
||||
# Cheapest gate first — parses only, no compile, so a formatting slip fails
|
||||
# in seconds instead of after a full build.
|
||||
|
||||
Reference in New Issue
Block a user