]> git.lizzy.rs Git - rust.git/blobdiff - .travis.yml
Merge remote-tracking branch 'origin/beta_backport' into HEAD
[rust.git] / .travis.yml
index 50967e4b906051bae110644045938a938630794c..4ca18a93ea86e56fe3aeec5f0736bbf37f225587 100644 (file)
@@ -7,8 +7,6 @@ os:
   - osx
   - windows
 
-sudo: false
-
 branches:
   # Don't build these branches
   except:
@@ -20,18 +18,10 @@ 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
+      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
@@ -43,30 +33,57 @@ install:
       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:
+    # 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: BASE_TEST=true
+      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.
+    # The jobs are approximately sorted by execution time
     - 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-lang-nursery/chalk
+      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=Geal/nom
+      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=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=serde-rs/serde
+      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-random/rand
+      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=Marwes/combine
+      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
-    - 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=chronotope/chrono
-    - env: INTEGRATION=serde-rs/serde
-    - env: INTEGRATION=Geal/nom
-    - env: INTEGRATION=hyperium/hyper
+      if: repo =~ /^rust-lang\/rust-clippy$/ AND branch IN (auto, try)
   allow_failures:
   - os: windows
-    env: BASE_TEST=true
+    env: CARGO_INCREMENTAL=0 BASE_TESTS=true
 # prevent these jobs with default env vars
   exclude:
     - os: linux
@@ -76,10 +93,7 @@ matrix:
 script:
   - |
       rm rust-toolchain
-      cargo install rustup-toolchain-install-master --debug || 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