]> git.lizzy.rs Git - rust.git/blobdiff - .travis.yml
Add run-rustfix to unit_arg test
[rust.git] / .travis.yml
index 8aff93d480aee3dc0685d058f8524a8af7fa2df8..d456497d99722bc8347c29bb331314d26040bc1e 100644 (file)
@@ -4,53 +4,88 @@ 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
+    - 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
     - env: INTEGRATION=rust-lang/cargo
-    - env: INTEGRATION=rust-lang-nursery/rand
+      if: repo =~ /^rust-lang\/rust-clippy$/
+    - env: INTEGRATION=rust-random/rand
+      if: repo =~ /^rust-lang\/rust-clippy$/
     - env: INTEGRATION=rust-lang-nursery/stdsimd
-    - env: INTEGRATION=rust-lang-nursery/rustfmt
+      if: repo =~ /^rust-lang\/rust-clippy$/
+    - env: INTEGRATION=rust-lang/rustfmt
+      if: repo =~ /^rust-lang\/rust-clippy$/
     - env: INTEGRATION=rust-lang-nursery/futures-rs
+      if: repo =~ /^rust-lang\/rust-clippy$/
     - env: INTEGRATION=rust-lang-nursery/failure
+      if: repo =~ /^rust-lang\/rust-clippy$/
     - env: INTEGRATION=rust-lang-nursery/log
+      if: repo =~ /^rust-lang\/rust-clippy$/
     - env: INTEGRATION=rust-lang-nursery/chalk
-    - env: INTEGRATION=rust-lang-nursery/rls
+      if: repo =~ /^rust-lang\/rust-clippy$/
+    - env: INTEGRATION=rust-lang/rls
+      if: repo =~ /^rust-lang\/rust-clippy$/
     - env: INTEGRATION=chronotope/chrono
+      if: repo =~ /^rust-lang\/rust-clippy$/
     - env: INTEGRATION=serde-rs/serde
+      if: repo =~ /^rust-lang\/rust-clippy$/
     - env: INTEGRATION=Geal/nom
+      if: repo =~ /^rust-lang\/rust-clippy$/
     - env: INTEGRATION=hyperium/hyper
+      if: repo =~ /^rust-lang\/rust-clippy$/
+    - env: INTEGRATION=bluss/rust-itertools
+      if: repo =~ /^rust-lang\/rust-clippy$/
+  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"
+      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