language: rust cache: cargo before_cache: - cargo install cargo-tarpaulin || echo "cargo-tarpaulin already installed" - cargo install cargo-update || echo "cargo-update already installed" - cargo install cargo-audit || echo "cargo-audit already installed" - cargo install-update --all # Travis can't cache files that are not readable by "others" - chmod -R a+r $HOME/.cargo # before_cache: # - rm -rf /home/travis/.cargo/registry rust: - stable - beta - nightly matrix: allow_failures: - rust: nightly script: - cargo clean - cargo build - cargo test - cargo test --features chrono - cargo test --features backtrace # it's enough to run this once: - | if [[ "$TRAVIS_RUST_VERSION" == stable ]]; then cargo audit fi after_success: | # this does require a -Z flag for Doctests, which is unstable! if [[ "$TRAVIS_RUST_VERSION" == nightly ]]; then cargo tarpaulin -f --ignore-panics --ignore-tests --run-types Tests Doctests --out Xml bash <(curl -s https://codecov.io/bash) fi