image: "rust:latest"
stages:
- check
- test
- publish
- post-run
clean-code:
stage: check
script:
- rustup default nightly
- rustup update
- rustup component add rustfmt-preview
- cargo fmt --all -- --check
allow_failure: true
check-gyrus:
stage: check
script:
- rustup default nightly
- rustup update
- cargo check
unittests:
stage: test
script:
- rustup default nightly
- rustup update
- cargo test --release
benchmarktests:
stage: test
script:
- rustup default nightly
- rustup update
- cargo bench
cratesio:
stage: publish
script:
- rm -r -f docs
- apt-get update
- rustup default nightly
- rustup update
- cargo login $CARGO_LOGIN
- cargo package
- cargo publish
when: on_success
only:
refs:
- master
allow_failure: true
clippy:
stage: post-run
script:
- rustup default nightly
- rustup update
- rustup component add clippy-preview
- cargo clippy --all -- -D clippy::all
allow_failure: true