language: rust
rust:
- stable
- nightly
- beta
os:
- windows
- linux
- osx
matrix:
allow_failures:
- rust: nightly
- rust: beta
fast_finish: true
sudo: required
addons:
apt:
packages:
- cmake
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
- binutils-dev
- libiberty-dev
cache:
directories:
- /home/travis/.cargo
before_cache:
- rm -rf /home/travis/.cargo/registry
before_script: |
if [[ "$TRAVIS_OS_NAME" == "linux" && "$TRAVIS_RUST_VERSION" == "stable" ]]; then
export PATH=$HOME/.cargo/bin:$PATH
cargo install cargo-update || echo "cargo-update already installed"
cargo install cargo-travis || echo "cargo-travis already installed"
cargo install-update -a
fi
after_success: |
if [[ "$TRAVIS_OS_NAME" == "linux" && "$TRAVIS_RUST_VERSION" == "stable" ]]; then
cargo build --verbose &&
cargo coverage --verbose &&
bash <(curl -s https://codecov.io/bash) -s target/kcov
fi