stages:
- basic
- cross
jobs:
include:
- env:
- NAME=test
cache:
directories:
- /home/travis/.cargo
rust:
- stable
before_script:
- (test -x $HOME/.cargo/bin/cargo-cache || cargo install cargo-cache)
script:
- cargo build
- cargo test --test light
stage: basic
- env:
- NAME=checks
cache:
directories:
- /home/travis/.cargo
rust:
- stable
before_script:
- (test -x $HOME/.cargo/bin/cargo-cache || cargo install cargo-cache)
- rustup component add rustfmt
- rustup component add clippy
script:
- cargo fmt --all -- --check
- cargo clippy
stage: basic
- env:
- NAME=docs
cache:
directories:
- /home/travis/.cargo
rust:
- stable
before_script:
- (test -x $HOME/.cargo/bin/cargo-cache || cargo install cargo-cache)
- cargo install cargo-deadlinks
script:
- cargo doc
- cargo deadlinks
stage: basic
- env:
- NAME=build-beta
cache:
directories:
- /home/travis/.cargo
rust:
- beta
before_script:
- (test -x $HOME/.cargo/bin/cargo-cache || cargo install cargo-cache)
script: cargo build
- env:
- NAME=build-nightly
cache:
directories:
- /home/travis/.cargo
rust:
- nightly
before_script:
- (test -x $HOME/.cargo/bin/cargo-cache || cargo install cargo-cache)
script: cargo build
stage: basic
language: rust
cache:
directories:
- /home/travis/.cargo
before_script:
- cargo install cross
- (test -x $HOME/.cargo/bin/cargo-cache || cargo install cargo-cache)
before_cache:
- cargo cache -r registry
env:
- TARGET=aarch64-unknown-linux-gnu
- TARGET=aarch64-unknown-linux-musl
- TARGET=armv7-unknown-linux-gnueabihf
- TARGET=armv7-unknown-linux-musleabihf
- TARGET=mips64-unknown-linux-gnuabi64
- TARGET=mips64el-unknown-linux-gnuabi64
- TARGET=mips-unknown-linux-gnu
- TARGET=mips-unknown-linux-musl
- TARGET=mipsel-unknown-linux-gnu
- TARGET=mipsel-unknown-linux-musl
script: ./ci/test-target.sh $TARGET
stage: cross