sudo: required language: rust dist: trusty addons: apt: packages: - libssl-dev cache: directories: - $HOME/.cargo env: - ELEFREN_FEATURES="--features toml" - ELEFREN_FEATURES="--features json" - ELEFREN_FEATURES="--features all" - ELEFREN_FEATURES="" os: - linux - osx rust: - stable - beta - nightly before_script: - | if [[ "$TRAVIS_RUST_VERSION" == "nightly"* ]]; then rustup component add rustfmt-preview; fi before_cache: - | if [[ "$TRAVIS_RUST_VERSION" == "nightly"* ]] 2> /dev/null && [ -z "$ELEFREN_FEATURES" ] 2>/dev/null && [[ "$TRAVIS_OS_NAME" == "linux" ]] 2>/dev/null; then RUSTFLAGS="--cfg procmacro2_semver_exempt" cargo install -f cargo-tarpaulin fi script: - | if [[ "$TRAVIS_RUST_VERSION" == "nightly"* ]]; then cargo fmt --all -- --check; fi - cargo test $ELEFREN_FEATURES after_success: | if [[ "$TRAVIS_RUST_VERSION" == "nightly"* ]] 2> /dev/null && [ -z "$ELEFREN_FEATURES" ] 2>/dev/null && [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cargo tarpaulin --ciserver travis-ci --coveralls $TRAVIS_JOB_ID --features toml fi matrix: allow_failures: - rust: nightly notifications: email: on_success: never