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