language: rust
sudo: required
addons:
apt:
packages:
- libssl-dev
cache: cargo
rust:
- stable
- beta
- nightly
os:
- linux
- osx
matrix:
allow_failures:
- rust: nightly
fast_finish: true
before_cache: |
if [[ "$TRAVIS_RUST_VERSION" == beta ]]; then
RUSTFLAGS="--cfg procmacro2_semver_exempt" cargo install cargo-tarpaulin -f
fi
before_script:
- rustup component add rustfmt
script:
- cargo fmt --all -- --check
- cargo clean
- cargo build
- cargo test --release -- --test-threads=1
after_success: |
if [[ "$TRAVIS_RUST_VERSION" == beta ]]; then
# coveralls.io
cargo tarpaulin --ignore-tests --ciserver travis-ci --coveralls $TRAVIS_JOB_ID
# Create and upload a report for codecov.io
cargo tarpaulin --out Xml
bash <(curl -s https://codecov.io/bash)
fi