X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=.travis.yml;h=605ac69812e7ddc2952edc5e6e3eaeac0f24a720;hb=4e72d1eb8cd462ede1029c15e3155b29dd51428d;hp=8aff93d480aee3dc0685d058f8524a8af7fa2df8;hpb=eb2cfe62b523c34dc2ec5990b0113001c936db7e;p=rust.git diff --git a/.travis.yml b/.travis.yml index 8aff93d480a..605ac69812e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,56 +4,95 @@ rust: nightly os: - linux - # - osx # doesn't even start atm. Not sure what travis is up to. Disabling to reduce the noise + - osx + - windows -sudo: false +branches: + # Don't build these branches + except: + # Used by bors + - trying.tmp + - staging.tmp env: global: - RUST_BACKTRACE=1 -before_install: - - | - # work-around for issue https://github.com/travis-ci/travis-ci/issues/6307 - # might not be necessary in the future - if [ "$TRAVIS_OS_NAME" == "osx" ]; then - command curl -sSL https://rvm.io/mpapis.asc | gpg --import - - rvm get stable - fi - install: - | if [ -z ${INTEGRATION} ]; then - . $HOME/.nvm/nvm.sh - nvm install stable - nvm use stable - npm install remark-cli remark-lint + rustup component add rustfmt || cargo install --git https://github.com/rust-lang/rustfmt/ --force + if [ "$TRAVIS_OS_NAME" == "linux" ]; then + . $HOME/.nvm/nvm.sh + nvm install stable + nvm use stable + npm install remark-cli remark-lint + fi + if [ "$TRAVIS_OS_NAME" == "windows" ]; then + choco install windows-sdk-10.0 + fi fi +# disabling the integration tests in forks should be done with +# if: fork = false +# but this is currently buggy travis-ci/travis-ci#9118 matrix: + fast_finish: true include: - - env: BASE_TESTS=true # runs the base tests + # Builds that are executed for every PR + - os: osx # run base tests on both platforms + env: BASE_TESTS=true + - os: linux + env: BASE_TESTS=true + - os: windows + env: CARGO_INCREMENTAL=0 BASE_TESTS=true + + # Builds that are only executed when a PR is r+ed or a try build is started + # We don't want to run these always because they go towards + # the build limit within the Travis rust-lang account. - env: INTEGRATION=rust-lang/cargo - - env: INTEGRATION=rust-lang-nursery/rand + if: repo =~ /^rust-lang\/rust-clippy$/ AND branch IN (auto, try) + - env: INTEGRATION=rust-random/rand + if: repo =~ /^rust-lang\/rust-clippy$/ AND branch IN (auto, try) - env: INTEGRATION=rust-lang-nursery/stdsimd - - env: INTEGRATION=rust-lang-nursery/rustfmt + if: repo =~ /^rust-lang\/rust-clippy$/ AND branch IN (auto, try) + - env: INTEGRATION=rust-lang/rustfmt + if: repo =~ /^rust-lang\/rust-clippy$/ AND branch IN (auto, try) - env: INTEGRATION=rust-lang-nursery/futures-rs + if: repo =~ /^rust-lang\/rust-clippy$/ AND branch IN (auto, try) - env: INTEGRATION=rust-lang-nursery/failure + if: repo =~ /^rust-lang\/rust-clippy$/ AND branch IN (auto, try) - env: INTEGRATION=rust-lang-nursery/log + if: repo =~ /^rust-lang\/rust-clippy$/ AND branch IN (auto, try) - env: INTEGRATION=rust-lang-nursery/chalk - - env: INTEGRATION=rust-lang-nursery/rls + if: repo =~ /^rust-lang\/rust-clippy$/ AND branch IN (auto, try) + - env: INTEGRATION=rust-lang/rls + if: repo =~ /^rust-lang\/rust-clippy$/ AND branch IN (auto, try) - env: INTEGRATION=chronotope/chrono + if: repo =~ /^rust-lang\/rust-clippy$/ AND branch IN (auto, try) - env: INTEGRATION=serde-rs/serde + if: repo =~ /^rust-lang\/rust-clippy$/ AND branch IN (auto, try) - env: INTEGRATION=Geal/nom + if: repo =~ /^rust-lang\/rust-clippy$/ AND branch IN (auto, try) - env: INTEGRATION=hyperium/hyper + if: repo =~ /^rust-lang\/rust-clippy$/ AND branch IN (auto, try) + - env: INTEGRATION=bluss/rust-itertools + if: repo =~ /^rust-lang\/rust-clippy$/ AND branch IN (auto, try) + - env: INTEGRATION=Marwes/combine + if: repo =~ /^rust-lang\/rust-clippy$/ AND branch IN (auto, try) + allow_failures: + - os: windows + env: CARGO_INCREMENTAL=0 BASE_TESTS=true +# prevent these jobs with default env vars + exclude: + - os: linux + - os: osx + - os: windows script: - | rm rust-toolchain - cargo install rustup-toolchain-install-master || echo "rustup-toolchain-install-master already installed" - RUSTC_HASH=$(git ls-remote https://github.com/rust-lang/rust.git master | awk '{print $1}') - travis_retry rustup-toolchain-install-master -f -n master $RUSTC_HASH - rustup default master + ./setup-toolchain.sh export LD_LIBRARY_PATH=$(rustc --print sysroot)/lib - | if [ -z ${INTEGRATION} ]; then