image: registry.gitlab.com/oasislabs/images/rust:0.4
.job:
before_script:
- rm -rf "${CARGO_HOME}/registry" "${CARGO_HOME}/git/db"
- tar -xf cargo-cache.tar.gz -C / || true
after_script:
- tar -cf cargo-cache.tar.gz "${CARGO_HOME}/registry" "${CARGO_HOME}/git/db" || true
cache:
key:
prefix: "${CI_JOB_NAME}"
files:
- Cargo.lock
paths:
- cargo-cache.tar.gz
- target
variables:
CACHE_FALLBACK_KEY: "${CI_JOB_NAME}-default"
lint:
extends: .job
script:
- rustup component add rustfmt clippy
- cargo fmt --all -- --check
- cargo clippy --all-features -- -D warnings -D clippy::dbg_macro
- cargo clippy --all-features --profile test -- -D warnings -D clippy::dbg_macro
test:
extends: .job
script: cargo test --all-features
.test:coverage:
extends: .job
script: cargo tarpaulin --all-features
artifacts:
reports:
cobertura: target/tarpaulin/cobertura.xml
audit:
extends: .job
script:
- cargo audit