blob: d97e86f9e9d0e75bce963d5ba4b099d59388874d [file] [log] [blame]
Yi Kong9f04d262021-02-13 04:00:15 +08001language: rust
2services: docker
3cache:
4 - cargo
5
6matrix:
7 include:
David LeGare80f44b12022-03-01 18:57:49 +00008 - rust: 1.46.0 # MSRV
Yi Kong9f04d262021-02-13 04:00:15 +08009 - 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
19script:
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 Kong9f04d262021-02-13 04:00:15 +080040 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