]> git.lizzy.rs Git - rust.git/blobdiff - .travis.yml
Rollup merge of #44396 - joshlf:tls-comment, r=alexcrichton
[rust.git] / .travis.yml
index d351bea477722fd8f4f2ea9dc8b8da74aab4e9e5..0eb700e4e3a31056f7ba34f0f17bd0d7096388ba 100644 (file)
@@ -1,6 +1,8 @@
 language: shell
 sudo: required
 dist: trusty
+# FIXME(#44398) shouldn't need to be here
+group: deprecated-2017Q3
 services:
   - docker
 
@@ -11,43 +13,28 @@ git:
 matrix:
   fast_finish: true
   include:
-    # Linux builders, all docker images
-    - env: IMAGE=arm-android
-    - env: IMAGE=armhf-gnu
-    - env: IMAGE=cross DEPLOY=1
-    - env: IMAGE=dist-aarch64-linux DEPLOY=1
-    - env: IMAGE=dist-android DEPLOY=1
-    - env: IMAGE=dist-arm-linux DEPLOY=1
-    - env: IMAGE=dist-armhf-linux DEPLOY=1
-    - env: IMAGE=dist-armv7-linux DEPLOY=1
-    - env: IMAGE=dist-fuchsia DEPLOY=1
-    - env: IMAGE=dist-i586-gnu-i686-musl DEPLOY=1
-    - env: IMAGE=dist-i686-freebsd DEPLOY=1
-    - env: IMAGE=dist-i686-linux DEPLOY=1
-    - env: IMAGE=dist-mips-linux DEPLOY=1
-    - env: IMAGE=dist-mips64-linux DEPLOY=1
-    - env: IMAGE=dist-mips64el-linux DEPLOY=1
-    - env: IMAGE=dist-mipsel-linux DEPLOY=1
-    - env: IMAGE=dist-powerpc-linux DEPLOY=1
-    - env: IMAGE=dist-powerpc64-linux DEPLOY=1
-    - env: IMAGE=dist-powerpc64le-linux DEPLOY=1
-    - env: IMAGE=dist-s390x-linux DEPLOY=1
-    - env: IMAGE=dist-x86_64-freebsd DEPLOY=1
-    - env: IMAGE=dist-x86_64-linux DEPLOY=1 ALLOW_TRY=1
-    - env: IMAGE=dist-x86_64-musl DEPLOY=1
-    - env: IMAGE=dist-x86_64-netbsd DEPLOY=1
-    - env: IMAGE=asmjs
-    - env: IMAGE=i686-gnu
-    - env: IMAGE=i686-gnu-nopt
-    # - env: IMAGE=wasm32 issue 42646
-    - env: IMAGE=x86_64-gnu
-    - env: IMAGE=x86_64-gnu-full-bootstrap
-    - env: IMAGE=x86_64-gnu-aux
-    - env: IMAGE=x86_64-gnu-debug
-    - env: IMAGE=x86_64-gnu-nopt
+    # Images used in testing PR and try-build should be run first.
     - env: IMAGE=x86_64-gnu-llvm-3.7 ALLOW_PR=1 RUST_BACKTRACE=1
-    - env: IMAGE=x86_64-gnu-distcheck
-    - env: IMAGE=x86_64-gnu-incremental
+    - env: IMAGE=dist-x86_64-linux DEPLOY=1 ALLOW_TRY=1
+
+    # "alternate" deployments, these are "nightlies" but don't have assertions
+    # turned on, they're deployed to a different location primarily for projects
+    # which are stuck on nightly and don't want llvm assertions in the artifacts
+    # that they use.
+    - env: IMAGE=dist-x86_64-linux DEPLOY_ALT=1
+    - env: >
+        RUST_CHECK_TARGET=dist
+        RUST_CONFIGURE_ARGS="--enable-extended --enable-profiler"
+        SRC=.
+        DEPLOY_ALT=1
+        RUSTC_RETRY_LINKER_ON_SEGFAULT=1
+        SCCACHE_ERROR_LOG=/tmp/sccache.log
+        MACOSX_DEPLOYMENT_TARGET=10.7
+      os: osx
+      osx_image: xcode7
+
+    # macOS builders. These are placed near the beginning because they are very
+    # slow to run.
 
     # OSX builders running tests, these run the full test suite.
     #
@@ -63,11 +50,6 @@ matrix:
         MACOSX_STD_DEPLOYMENT_TARGET=10.7
       os: osx
       osx_image: xcode8.2
-      install: &osx_install_sccache >
-        travis_retry curl -o /usr/local/bin/sccache https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-05-12-sccache-x86_64-apple-darwin &&
-          chmod +x /usr/local/bin/sccache &&
-        travis_retry curl -o /usr/local/bin/stamp https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-17-stamp-x86_64-apple-darwin &&
-          chmod +x /usr/local/bin/stamp
     - env: >
         RUST_CHECK_TARGET=check
         RUST_CONFIGURE_ARGS=--build=i686-apple-darwin
@@ -78,7 +60,6 @@ matrix:
         MACOSX_STD_DEPLOYMENT_TARGET=10.7
       os: osx
       osx_image: xcode8.2
-      install: *osx_install_sccache
 
     # OSX builders producing releases. These do not run the full test suite and
     # just produce a bunch of artifacts.
@@ -96,10 +77,6 @@ matrix:
         MACOSX_DEPLOYMENT_TARGET=10.7
       os: osx
       osx_image: xcode7
-      install:
-        - travis_retry brew update
-        - travis_retry brew install xz
-        - *osx_install_sccache
     - env: >
         RUST_CHECK_TARGET=dist
         RUST_CONFIGURE_ARGS="--target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-extended --enable-sanitizers --enable-profiler"
@@ -110,30 +87,42 @@ matrix:
         MACOSX_DEPLOYMENT_TARGET=10.7
       os: osx
       osx_image: xcode7
-      install:
-        - travis_retry brew update
-        - travis_retry brew install xz
-        - *osx_install_sccache
 
-    # "alternate" deployments, these are "nightlies" but don't have assertions
-    # turned on, they're deployed to a different location primarily for projects
-    # which are stuck on nightly and don't want llvm assertions in the artifacts
-    # that they use.
-    - env: IMAGE=dist-x86_64-linux DEPLOY_ALT=1
-    - env: >
-        RUST_CHECK_TARGET=dist
-        RUST_CONFIGURE_ARGS="--enable-extended --enable-profiler"
-        SRC=.
-        DEPLOY_ALT=1
-        RUSTC_RETRY_LINKER_ON_SEGFAULT=1
-        SCCACHE_ERROR_LOG=/tmp/sccache.log
-        MACOSX_DEPLOYMENT_TARGET=10.7
-      os: osx
-      osx_image: xcode7
-      install:
-        - travis_retry brew update
-        - travis_retry brew install xz
-        - *osx_install_sccache
+    # Linux builders, remaining docker images
+    - env: IMAGE=arm-android
+    - env: IMAGE=armhf-gnu
+    - env: IMAGE=cross DEPLOY=1
+    - env: IMAGE=dist-aarch64-linux DEPLOY=1
+    - env: IMAGE=dist-android DEPLOY=1
+    - env: IMAGE=dist-arm-linux DEPLOY=1
+    - env: IMAGE=dist-armhf-linux DEPLOY=1
+    - env: IMAGE=dist-armv7-linux DEPLOY=1
+    - env: IMAGE=dist-fuchsia DEPLOY=1
+    - env: IMAGE=dist-i586-gnu-i686-musl DEPLOY=1
+    - env: IMAGE=dist-i686-freebsd DEPLOY=1
+    - env: IMAGE=dist-i686-linux DEPLOY=1
+    - env: IMAGE=dist-mips-linux DEPLOY=1
+    - env: IMAGE=dist-mips64-linux DEPLOY=1
+    - env: IMAGE=dist-mips64el-linux DEPLOY=1
+    - env: IMAGE=dist-mipsel-linux DEPLOY=1
+    - env: IMAGE=dist-powerpc-linux DEPLOY=1
+    - env: IMAGE=dist-powerpc64-linux DEPLOY=1
+    - env: IMAGE=dist-powerpc64le-linux DEPLOY=1
+    - env: IMAGE=dist-s390x-linux DEPLOY=1
+    - env: IMAGE=dist-x86_64-freebsd DEPLOY=1
+    - env: IMAGE=dist-x86_64-musl DEPLOY=1
+    - env: IMAGE=dist-x86_64-netbsd DEPLOY=1
+    - env: IMAGE=asmjs
+    - env: IMAGE=i686-gnu
+    - env: IMAGE=i686-gnu-nopt
+    # - env: IMAGE=wasm32 issue 42646
+    - env: IMAGE=x86_64-gnu
+    - env: IMAGE=x86_64-gnu-full-bootstrap
+    - env: IMAGE=x86_64-gnu-aux
+    - env: IMAGE=x86_64-gnu-debug
+    - env: IMAGE=x86_64-gnu-nopt
+    - env: IMAGE=x86_64-gnu-distcheck
+    - env: IMAGE=x86_64-gnu-incremental
 
 env:
   global:
@@ -142,51 +131,74 @@ env:
     # AWS_SECRET_ACCESS_KEY=...
     - secure: "Pixhh0hXDqGCdOyLtGFjli3J2AtDWIpyb2btIrLe956nCBDRutRoMm6rv5DI9sFZN07Mms7VzNNvhc9wCW1y63JAm414d2Co7Ob8kWMZlz9l9t7ACHuktUiis8yr+S4Quq1Vqd6pqi7pf2J++UxC8R/uLeqVrubzr6+X7AbmEFE="
 
-# Note that this is overridden on OSX builders
-install: >
-  travis_retry curl -o $HOME/stamp https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-17-stamp-x86_64-unknown-linux-musl &&
-    chmod +x $HOME/stamp &&
-    export PATH=$PATH:$HOME
+before_install:
+  # If we are building a pull request, do the build if $ALLOW_PR == 1
+  # Otherwise, do the build if we are on the auto branch, or the try branch and $ALLOW_TRY == 1
+  - >
+    if [[ "$TRAVIS_PULL_REQUEST" != "false" ]]; then
+        if [[ "$ALLOW_PR" == "1" ]]; then
+            export SKIP_BUILD=false;
+        else
+            export SKIP_BUILD=true;
+        fi;
+    elif [[ "$TRAVIS_BRANCH" == "auto" || ( "$ALLOW_TRY" == "1" && "$TRAVIS_BRANCH" == "try" ) ]]; then
+        export SKIP_BUILD=false;
+    else
+        export SKIP_BUILD=true;
+    fi
+  - >
+    if [[ "$SKIP_BUILD" == false ]]; then
+      zcat $HOME/docker/rust-ci.tar.gz | docker load || true
+    fi
+  - mkdir -p $HOME/rustsrc
+
+install:
+  - >
+    if [[ "$SKIP_BUILD" == true ]]; then
+      echo echo skipping, not a full build > $HOME/stamp &&
+        chmod +x $HOME/stamp &&
+        export PATH=$PATH:$HOME;
+    else
+      case "$TRAVIS_OS_NAME" in
+        linux)
+          travis_retry curl -fo $HOME/stamp https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-17-stamp-x86_64-unknown-linux-musl &&
+            chmod +x $HOME/stamp &&
+            export PATH=$PATH:$HOME
+          ;;
+        osx)
+          if [[ "$RUST_CHECK_TARGET" == dist ]]; then
+            travis_retry brew update &&
+            travis_retry brew install xz;
+          fi &&
+          travis_retry curl -fo /usr/local/bin/sccache https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-05-12-sccache-x86_64-apple-darwin &&
+            chmod +x /usr/local/bin/sccache &&
+          travis_retry curl -fo /usr/local/bin/stamp https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-17-stamp-x86_64-apple-darwin &&
+            chmod +x /usr/local/bin/stamp
+          ;;
+      esac
+    fi
 
 before_script:
   - >
       echo "#### Disk usage before running script:";
       df -h;
       du . | sort -nr | head -n100
-  # If we are building a pull request, do the build if $ALLOW_PR == 1
-  # Otherwise, do the build if we are on the auto branch, or the try branch and $ALLOW_TRY == 1
   - >
-      if [[ "$TRAVIS_PULL_REQUEST" != "false" ]]; then
-          if [[ "$ALLOW_PR" == "1" ]]; then
-              SKIP_BUILD=false;
-          else
-              SKIP_BUILD=true;
-          fi
-      elif [[ "$TRAVIS_BRANCH" == "auto" || ( "$ALLOW_TRY" == "1" && "$TRAVIS_BRANCH" == "try" ) ]]; then
-          SKIP_BUILD=false;
+      RUN_SCRIPT="src/ci/init_repo.sh . $HOME/rustsrc";
+      if [ "$TRAVIS_OS_NAME" = "osx" ]; then
+          export RUN_SCRIPT="$RUN_SCRIPT && src/ci/run.sh";
       else
-          SKIP_BUILD=true;
-      fi
-
-      if [[ "$SKIP_BUILD" == true ]]; then
-          export RUN_SCRIPT="echo 'skipping, not a full build'";
-      else
-          RUN_SCRIPT="src/ci/init_repo.sh . $HOME/rustsrc";
-          if [ "$TRAVIS_OS_NAME" = "osx" ]; then
-              export RUN_SCRIPT="$RUN_SCRIPT && src/ci/run.sh";
-          else
-              export RUN_SCRIPT="$RUN_SCRIPT && src/ci/docker/run.sh $IMAGE";
-          fi
+          export RUN_SCRIPT="$RUN_SCRIPT && src/ci/docker/run.sh $IMAGE";
       fi
 
 # Log time information from this machine and an external machine for insight into possible
 # clock drift. Timezones don't matter since relative deltas give all the necessary info.
 script:
   - >
-      date && curl -s --head https://google.com | grep ^Date: | sed 's/Date: //g'
+      date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
   - stamp sh -x -c "$RUN_SCRIPT"
   - >
-      date && curl -s --head https://google.com | grep ^Date: | sed 's/Date: //g'
+      date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
 
 after_success:
   - >
@@ -223,9 +235,6 @@ before_cache:
     grep -v missing |
     xargs docker save |
     gzip > $HOME/docker/rust-ci.tar.gz
-before_install:
-  - zcat $HOME/docker/rust-ci.tar.gz | docker load || true
-  - mkdir -p $HOME/rustsrc
 
 notifications:
   email: false