diff --git a/.travis.yml b/.travis.yml index b16baf0..38a0650 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,46 +1,44 @@ sudo: required language: rust - +dist: trusty addons: apt: packages: - libssl-dev cache: directories: - - $HOME/.cargo + - $HOME/.cargo env: - matrix: - - ELEFREN_FEATURES="--features toml" - - ELEFREN_FEATURES="--features json" - - ELEFREN_FEATURES="--features all" - - ELEFREN_FEATURES="" - + - 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: - include: - - os: osx - - os: linux - - rust: stable - - rust: beta - - rust: nightly - - - name: "Coverage" - rust: nightly - before_cache: RUSTFLAGS="--cfg procmacro2_semver_exempt" cargo install -f cargo-tarpaulin - after_success: cargo tarpaulin --ciserver travis-ci --coveralls $TRAVIS_JOB_ID $ELEFREN_FEATURES - env: - - ELEFREN_FEATURES="--features all" - - - name: "rustfmt" - rust: nightly - before_script: rustup component add rustfmt-preview - script: cargo fmt --all -- check - allow_failures: - rust: nightly - notifications: email: on_success: never