ci: Use lockfile as cache key
This ensures we don't keep stale builds of dependencies around.
This commit is contained in:
parent
2301b45887
commit
0388aa282e
1 changed files with 16 additions and 4 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue