diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d5818cd..1909ace 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,6 +15,7 @@ default: stages: - lint + - cache-cleanup - build - version - test @@ -41,12 +42,22 @@ stages: script: cargo build --no-default-features --locked --features="json $FEATURES" +.cargo-cleanup: + extends: .cargo-build + stage: cache-cleanup + allow_failure: true + script: + - cargo install cargo-sweep + - cargo sweep -i + .cargo-test: extends: .cargo-build stage: test script: cargo test --no-default-features --locked --verbose --features="json $FEATURES" +# LINT + clippy: stage: lint script: @@ -54,13 +65,37 @@ clippy: - cargo clippy --version - ./clippy.sh ci +# CACHE CLEANUP +cleanup-stable: + extends: .cargo-cleanup + +cleanup-msrv: + extends: cleanup-stable + image: "rust:1.43.0" + cache: + key: msrv + paths: + - target + - .cargo + +cleanup-nightly: + extends: cleanup-stable + image: "rustlang/rust:nightly" + cache: + key: nightly + paths: + - target + - .cargo + # BUILD build-stable: extends: .cargo-build + needs: ["cleanup-stable"] build-msrv: extends: build-stable + needs: ["cleanup-msrv"] image: "rust:1.43.0" cache: key: msrv @@ -70,6 +105,7 @@ build-msrv: build-nightly: extends: build-stable + needs: ["cleanup-nightly"] image: "rustlang/rust:nightly" cache: key: nightly