duniter-gva/.gitlab-ci.yml

47 lines
1 KiB
YAML

stages:
- tests
- quality
.env:
image: duniter/rust-x64-stable-ci:latest
tags:
- redshift
before_script:
- export PATH="$HOME/.cargo/bin:$PATH"
- rustup show && rustc --version && cargo --version
tests:
extends: .env
rules:
- if: $CI_COMMIT_REF_NAME =~ /^wip*$/
when: manual
- if: $CI_COMMIT_TAG
when: never
- if: '$CI_MERGE_REQUEST_ID ||$CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH =~ /^release/'
- when: manual
stage: tests
script:
- cargo test --all --all-features
coverage: '/<coverage>(\d+.\d+\%)<\/coverage>/'
fmt_and_clippy:
extends: .env
rules:
- if: $CI_COMMIT_TAG
when: never
- if: $CI_MERGE_REQUEST_ID
- when: on_success
stage: quality
script:
- cargo fmt -- --version
- cargo fmt -- --check
- cargo clippy -- -V
- cargo clippy --all --tests -- -D warnings --verbose
audit_dependencies:
extends: .env
before_script:
- cargo deny -V
stage: quality
script:
- cargo deny --workspace check