stages:
- fmt
- tests
- quality
- publish
.rust_stable_lin64:
image: registry.duniter.org/docker/rust/rust-x64-stable-ci:latest
tags:
- redshift
before_script:
- export PATH="$HOME/.cargo/bin:$PATH"
- rustup show
- rustc --version && cargo --version
fmt:
extends: .rust_stable_lin64
stage: fmt
script:
- cargo fmt -- --version
- cargo fmt -- --check
tests:linux64:stable:
extends: .rust_stable_lin64
stage: tests
tags:
- redshift
script:
- RUSTFLAGS="-D warnings" cargo build
- cargo test --doc
- cargo tarpaulin --all --all-features --ignore-tests -iv --out Xml
- bash <(curl -s https://codecov.io/bash)
clippy:
extends: .rust_stable_lin64
stage: quality
script:
- cargo clippy -- -V
- cargo clippy --all --tests -- -D warnings --verbose
audit_dependencies:
extends: .rust_stable_lin64
stage: quality
script:
- cargo deny -V
- cargo deny check
publish:
extends: .rust_stable_lin64
stage: publish
rules:
- if: $CI_COMMIT_TAG
- when: never
script:
- bash "publish.sh"