language: rust sudo: false matrix: include: - rust: stable env: - NAME="stable" - FEATURES='' - rust: stable env: - NAME="stable,fmt" - FEATURES='' - RUSTFMT=yes - rust: stable env: - NAME="stable,clippy" - FEATURES='' - CLIPPY=yes - rust: nightly env: - NAME="nightly" - FEATURES='' before_script: - rustc --version - ([ "$CLIPPY" != yes ] || rustup component add clippy) - ([ "$RUSTFMT" != yes ] || rustup component add rustfmt) script: - ([ "$RUSTFMT" != yes ] || cargo fmt --all -- --check) - ([ "$CLIPPY" != yes ] || cargo clippy -- -D clippy::all) - | cargo build --verbose --features "$FEATURES" && cargo test --verbose --features "$FEATURES" && ([ "$BENCH" != 1 ] || cargo bench --verbose --features "$FEATURES")