]> git.lizzy.rs Git - rust.git/blobdiff - .travis.yml
Fix prctl SET_NAME and GET_NAME behaviour.
[rust.git] / .travis.yml
index dfc4238a6c03d7078570ac4db5289ce70f9f23e1..a074d6b14d8da72a8b24d69a924b3daab7210ebb 100644 (file)
@@ -4,37 +4,60 @@ cache:
   # we cannot reuse anyway when the nightly changes (and it grows quite large
   # over time).
   directories:
-    - /home/travis/.cargo
+    - $HOME/.cargo
+    - $HOME/.rustup
 
 os:
 - linux
 - osx
 dist: xenial
 
+# Run in PRs and for bors, but not on master.
+if: branch = auto OR branch = try OR type = pull_request OR type = cron
+
+env:
+  global:
+  - RUST_TEST_NOCAPTURE=1
+  - RUST_BACKTRACE=1
+  - CARGO_INCREMENTAL=0
+
 before_script:
-# Linux: install extra stuff for cross-compilation
-- if [[ "$TRAVIS_OS_NAME" == linux ]]; then sudo apt update && sudo apt install gcc-multilib; fi
 # Compute the rust version we use. We do not use "language: rust" to have more control here.
 - |
   if [[ "$TRAVIS_EVENT_TYPE" == cron ]]; then
-    RUST_TOOLCHAIN=nightly
+    RUSTC_HASH=$(git ls-remote https://github.com/rust-lang/rust.git master | awk '{print $1}')
   else
-    RUST_TOOLCHAIN=$(cat rust-version)
+    RUSTC_HASH=$(cat rust-version)
   fi
-# install Rust
-- curl https://build.travis-ci.org/files/rustup-init.sh -sSf | sh -s -- -y --default-toolchain "$RUST_TOOLCHAIN"
+# Install Rust ("stable" toolchain for better caching, it is just used to build rustup-toolchain-install-master)
+- curl https://build.travis-ci.org/files/rustup-init.sh -sSf | sh -s -- -y --default-toolchain stable --profile minimal
 - export PATH=$HOME/.cargo/bin:$PATH
+- rustup default stable
+- rustup toolchain uninstall beta
+- rustup update
+# Install "master" toolchain
+- cargo install rustup-toolchain-install-master
+- travis_retry rustup-toolchain-install-master -f -n master $RUSTC_HASH -c rust-src -c rustc-dev
+- rustup default master
 - rustc --version
+- cargo --version
 
 script:
 - ./travis.sh
 
+before_cache:
+# Don't cache "master" toolchain, it's a waste
+- rustup default stable
+- rustup toolchain uninstall master
+
 notifications:
   email:
     on_success: never
+    recipients:
+      - post+travis@ralfj.de
+      - travis-miri@oli-obk.de
 branches:
   only:
   - master
-env:
-  global:
-  - RUST_TEST_NOCAPTURE=1
+  - auto
+  - try