ci: Use lockfile as cache key

This ensures we don't keep stale builds of dependencies around.
This commit is contained in:
Dagur Valberg Johannsson 2026-02-02 11:52:09 +01:00
parent 2301b45887
commit 0388aa282e
No known key found for this signature in database
GPG key ID: FD701804AEE88107

View file

@ -1,13 +1,22 @@
variables: variables:
CARGO_HOME: $CI_PROJECT_DIR/cargo CARGO_HOME: $CI_PROJECT_DIR/cargo
# Default cache for Rust jobs - keyed on Cargo.lock to prune stale dependencies
.rust_cache: &rust_cache
cache: cache:
key:
files:
- Cargo.lock
paths: paths:
- $CARGO_HOME - $CARGO_HOME/bin/
- $CARGO_HOME/registry/index/
- $CARGO_HOME/registry/cache/
- $CARGO_HOME/git/db/
- target/ - target/
build-release: build-release:
image: rust:latest image: rust:latest
<<: *rust_cache
script: script:
- cargo build --verbose --release - cargo build --verbose --release
artifacts: artifacts:
@ -17,17 +26,20 @@ build-release:
test: test:
image: rust:latest image: rust:latest
<<: *rust_cache
script: script:
- cargo test --verbose --release - cargo test --verbose --release
format_check: format_check:
image: rust:latest image: rust:latest
<<: *rust_cache
script: script:
- rustup component add rustfmt - rustup component add rustfmt
- cargo fmt -- --check - cargo fmt -- --check
clippy: clippy:
image: rust:latest image: rust:latest
<<: *rust_cache
script: script:
- rustup component add clippy - rustup component add clippy
- cargo clippy -- -D warnings - cargo clippy -- -D warnings