Yi Kong | 9f04d26 | 2021-02-13 04:00:15 +0800 | [diff] [blame] | 1 | language: rust |
| 2 | services: docker |
| 3 | cache: |
| 4 | - cargo |
| 5 | |
| 6 | matrix: |
| 7 | include: |
David LeGare | 80f44b1 | 2022-03-01 18:57:49 +0000 | [diff] [blame] | 8 | - rust: 1.46.0 # MSRV |
Yi Kong | 9f04d26 | 2021-02-13 04:00:15 +0800 | [diff] [blame] | 9 | - rust: stable |
| 10 | - rust: beta |
| 11 | - rust: nightly |
| 12 | - os: osx |
| 13 | # Tier 1 |
| 14 | - env: CROSS_TEST=i686-unknown-linux-gnu |
| 15 | # Tier 2 |
| 16 | - env: CROSS_TEST=aarch64-unknown-linux-gnu |
| 17 | - env: CROSS_CHECK=wasm32-unknown-unknown |
| 18 | |
| 19 | script: |
| 20 | - | |
| 21 | set -e |
| 22 | if [[ "$TRAVIS_RUST_VERSION" == nightly ]] |
| 23 | then |
| 24 | # Make sure the benchmarks compile |
| 25 | cargo build --benches --all |
| 26 | |
| 27 | export ASAN_OPTIONS="detect_odr_violation=0 detect_leaks=0" |
| 28 | export RUST_BACKTRACE=1 |
| 29 | |
| 30 | # Run address sanitizer |
| 31 | RUSTFLAGS="-Z sanitizer=address" \ |
| 32 | cargo test --lib --target x86_64-unknown-linux-gnu |
| 33 | fi |
| 34 | - | |
| 35 | set -e |
| 36 | if [[ "$CROSS_CHECK" ]] |
| 37 | then |
| 38 | rustup target add $CROSS_CHECK |
| 39 | cargo check --target $CROSS_CHECK |
Yi Kong | 9f04d26 | 2021-02-13 04:00:15 +0800 | [diff] [blame] | 40 | cargo check --target $CROSS_CHECK --no-default-features |
| 41 | elif [[ "$CROSS_TEST" ]] |
| 42 | then |
| 43 | cargo install --force cross |
| 44 | cross test --target=$CROSS_TEST |
| 45 | cross check --target $CROSS_TEST --no-default-features |
| 46 | else |
| 47 | cargo test --no-fail-fast |
| 48 | cargo test --no-fail-fast --release |
| 49 | cargo check --no-default-features |
| 50 | fi |