51 lines
1.2 KiB
YAML
51 lines
1.2 KiB
YAML
language: rust
|
|
services: docker
|
|
cache:
|
|
- cargo
|
|
|
|
matrix:
|
|
include:
|
|
- rust: 1.46.0 # MSRV
|
|
- rust: stable
|
|
- rust: beta
|
|
- rust: nightly
|
|
- os: osx
|
|
# Tier 1
|
|
- env: CROSS_TEST=i686-unknown-linux-gnu
|
|
# Tier 2
|
|
- env: CROSS_TEST=aarch64-unknown-linux-gnu
|
|
- env: CROSS_CHECK=wasm32-unknown-unknown
|
|
|
|
script:
|
|
- |
|
|
set -e
|
|
if [[ "$TRAVIS_RUST_VERSION" == nightly ]]
|
|
then
|
|
# Make sure the benchmarks compile
|
|
cargo build --benches --all
|
|
|
|
export ASAN_OPTIONS="detect_odr_violation=0 detect_leaks=0"
|
|
export RUST_BACKTRACE=1
|
|
|
|
# Run address sanitizer
|
|
RUSTFLAGS="-Z sanitizer=address" \
|
|
cargo test --lib --target x86_64-unknown-linux-gnu
|
|
fi
|
|
- |
|
|
set -e
|
|
if [[ "$CROSS_CHECK" ]]
|
|
then
|
|
rustup target add $CROSS_CHECK
|
|
cargo check --target $CROSS_CHECK
|
|
cargo check --target $CROSS_CHECK --no-default-features
|
|
elif [[ "$CROSS_TEST" ]]
|
|
then
|
|
cargo install --force cross
|
|
cross test --target=$CROSS_TEST
|
|
cross check --target $CROSS_TEST --no-default-features
|
|
else
|
|
cargo test --no-fail-fast
|
|
cargo test --no-fail-fast --release
|
|
cargo check --no-default-features
|
|
fi
|