You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.5 KiB
69 lines
1.5 KiB
stages: |
|
- test |
|
- lint |
|
|
|
variables: |
|
RUST_BACKTRACE: "FULL" |
|
CARGO_HOME: $CI_PROJECT_DIR/cargo |
|
|
|
before_script: |
|
- apt-get update -yqq |
|
- apt-get install -yqq --no-install-recommends build-essential |
|
- apt-get install -yqq --no-install-recommends libgtk-3-dev |
|
- apt-get install -yqq libgmp-dev |
|
# - apt-get install -yqq --no-install-recommends meson |
|
|
|
test:stable: |
|
# Stable img |
|
# https://hub.docker.com/_/rust/ |
|
image: "rust" |
|
script: |
|
- rustc --version && cargo --version |
|
- cargo build --all |
|
- cargo test --all --verbose |
|
cache: |
|
paths: |
|
- target/ |
|
- cargo/ |
|
|
|
test:nightly: |
|
# Nightly |
|
# https://hub.docker.com/r/rustlang/rust/ |
|
image: "rustlang/rust:nightly" |
|
script: |
|
- rustc --version && cargo --version |
|
- cargo build --all |
|
- cargo test --all --verbose |
|
# - cargo bench |
|
cache: |
|
paths: |
|
- target/ |
|
- cargo/ |
|
|
|
# Configure and run rustfmt on nightly |
|
# Exits and builds fails on bad format |
|
lint:rustfmt: |
|
image: "rustlang/rust:nightly" |
|
script: |
|
- rustc --version && cargo --version |
|
- cargo install rustfmt-nightly |
|
- cargo fmt --all -- --write-mode=diff |
|
cache: |
|
paths: |
|
- target/ |
|
- cargo/ |
|
allow_failure: true |
|
|
|
# Configure and run clippy on nightly |
|
# Only fails on errors atm. |
|
lint:clippy: |
|
image: "rustlang/rust:nightly" |
|
script: |
|
- rustc --version && cargo --version |
|
- cargo install clippy |
|
- cargo clippy --all |
|
cache: |
|
paths: |
|
- target/ |
|
- cargo/ |
|
allow_failure: true
|
|
|