-
Eduardo Trujillo authoredEduardo Trujillo authored
This GitLab CI configuration is valid.
Learn more
.gitlab-ci.yml 1.45 KiB
stages:
- format
- build
- lint
- test
.rust_template: &rust_template
tags:
- nix
before_script:
- export CARGO_HOME="$CI_PROJECT_DIR/cargo"
- nix develop -c rustc --version
- nix develop -c cargo --version
rust-nightly:
stage: build
needs: []
cache:
key: "$CI_COMMIT_REF_SLUG"
paths:
- cargo/
- target/
<<: *rust_template
script:
- nix develop -c cargo build --verbose
rust-nightly-test:
stage: test
needs:
- rust-nightly
cache:
key: "$CI_COMMIT_REF_SLUG"
paths:
- cargo/
- target/
policy: pull
<<: *rust_template
script:
- nix develop -c cargo test --verbose -j 1
rust-nightly-fmt:
stage: format
needs: []
cache:
key: "$CI_COMMIT_REF_SLUG"
paths:
- cargo/
- target/
policy: pull
<<: *rust_template
script:
- nix develop -c cargo fmt --all --verbose -- --check
rust-nightly-clippy:
stage: lint
needs:
- rust-nightly
cache:
key: "$CI_COMMIT_REF_SLUG"
paths:
- cargo/
- target/
<<: *rust_template
script:
- nix develop -c cargo clippy --all --tests --verbose -- -D warnings
pages:
stage: build
needs:
- rust-nightly