1111matrix :
1212 fast_finish : true
1313 include :
14- # Linux builders, all docker images
15- - env : IMAGE=arm-android
16- - env : IMAGE=armhf-gnu
17- - env : IMAGE=cross DEPLOY=1
18- - env : IMAGE=dist-aarch64-linux DEPLOY=1
19- - env : IMAGE=dist-android DEPLOY=1
20- - env : IMAGE=dist-arm-linux DEPLOY=1
21- - env : IMAGE=dist-armhf-linux DEPLOY=1
22- - env : IMAGE=dist-armv7-linux DEPLOY=1
23- - env : IMAGE=dist-fuchsia DEPLOY=1
24- - env : IMAGE=dist-i586-gnu-i686-musl DEPLOY=1
25- - env : IMAGE=dist-i686-freebsd DEPLOY=1
26- - env : IMAGE=dist-i686-linux DEPLOY=1
27- - env : IMAGE=dist-mips-linux DEPLOY=1
28- - env : IMAGE=dist-mips64-linux DEPLOY=1
29- - env : IMAGE=dist-mips64el-linux DEPLOY=1
30- - env : IMAGE=dist-mipsel-linux DEPLOY=1
31- - env : IMAGE=dist-powerpc-linux DEPLOY=1
32- - env : IMAGE=dist-powerpc64-linux DEPLOY=1
33- - env : IMAGE=dist-powerpc64le-linux DEPLOY=1
34- - env : IMAGE=dist-s390x-linux DEPLOY=1
35- - env : IMAGE=dist-x86_64-freebsd DEPLOY=1
36- - env : IMAGE=dist-x86_64-linux DEPLOY=1 ALLOW_TRY=1
37- - env : IMAGE=dist-x86_64-musl DEPLOY=1
38- - env : IMAGE=dist-x86_64-netbsd DEPLOY=1
39- - env : IMAGE=asmjs
40- - env : IMAGE=i686-gnu
41- - env : IMAGE=i686-gnu-nopt
42- # - env: IMAGE=wasm32 issue 42646
43- - env : IMAGE=x86_64-gnu
44- - env : IMAGE=x86_64-gnu-full-bootstrap
45- - env : IMAGE=x86_64-gnu-aux
46- - env : IMAGE=x86_64-gnu-debug
47- - env : IMAGE=x86_64-gnu-nopt
14+ # Images used in testing PR and try-build should be run first.
4815 - env : IMAGE=x86_64-gnu-llvm-3.7 ALLOW_PR=1 RUST_BACKTRACE=1
49- - env : IMAGE=x86_64-gnu-distcheck
50- - env : IMAGE=x86_64-gnu-incremental
16+ - env : IMAGE=dist-x86_64-linux DEPLOY=1 ALLOW_TRY=1
17+
18+ # "alternate" deployments, these are "nightlies" but don't have assertions
19+ # turned on, they're deployed to a different location primarily for projects
20+ # which are stuck on nightly and don't want llvm assertions in the artifacts
21+ # that they use.
22+ - env : IMAGE=dist-x86_64-linux DEPLOY_ALT=1
23+ - env : >
24+ RUST_CHECK_TARGET=dist
25+ RUST_CONFIGURE_ARGS="--enable-extended --enable-profiler"
26+ SRC=.
27+ DEPLOY_ALT=1
28+ RUSTC_RETRY_LINKER_ON_SEGFAULT=1
29+ SCCACHE_ERROR_LOG=/tmp/sccache.log
30+ MACOSX_DEPLOYMENT_TARGET=10.7
31+ os: osx
32+ osx_image: xcode7
33+
34+ # macOS builders. These are placed near the beginning because they are very
35+ # slow to run.
5136
5237 # OSX builders running tests, these run the full test suite.
5338 #
@@ -63,11 +48,6 @@ matrix:
6348 MACOSX_STD_DEPLOYMENT_TARGET=10.7
6449 os: osx
6550 osx_image: xcode8.2
66- install: &osx_install_sccache >
67- 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 &&
68- chmod +x /usr/local/bin/sccache &&
69- 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 &&
70- chmod +x /usr/local/bin/stamp
7151 - env : >
7252 RUST_CHECK_TARGET=check
7353 RUST_CONFIGURE_ARGS=--build=i686-apple-darwin
@@ -78,7 +58,6 @@ matrix:
7858 MACOSX_STD_DEPLOYMENT_TARGET=10.7
7959 os: osx
8060 osx_image: xcode8.2
81- install: *osx_install_sccache
8261
8362 # OSX builders producing releases. These do not run the full test suite and
8463 # just produce a bunch of artifacts.
@@ -96,10 +75,6 @@ matrix:
9675 MACOSX_DEPLOYMENT_TARGET=10.7
9776 os: osx
9877 osx_image: xcode7
99- install:
100- - travis_retry brew update
101- - travis_retry brew install xz
102- - *osx_install_sccache
10378 - env : >
10479 RUST_CHECK_TARGET=dist
10580 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 +85,42 @@ matrix:
11085 MACOSX_DEPLOYMENT_TARGET=10.7
11186 os: osx
11287 osx_image: xcode7
113- install:
114- - travis_retry brew update
115- - travis_retry brew install xz
116- - *osx_install_sccache
11788
118- # "alternate" deployments, these are "nightlies" but don't have assertions
119- # turned on, they're deployed to a different location primarily for projects
120- # which are stuck on nightly and don't want llvm assertions in the artifacts
121- # that they use.
122- - env : IMAGE=dist-x86_64-linux DEPLOY_ALT=1
123- - env : >
124- RUST_CHECK_TARGET=dist
125- RUST_CONFIGURE_ARGS="--enable-extended --enable-profiler"
126- SRC=.
127- DEPLOY_ALT=1
128- RUSTC_RETRY_LINKER_ON_SEGFAULT=1
129- SCCACHE_ERROR_LOG=/tmp/sccache.log
130- MACOSX_DEPLOYMENT_TARGET=10.7
131- os: osx
132- osx_image: xcode7
133- install:
134- - travis_retry brew update
135- - travis_retry brew install xz
136- - *osx_install_sccache
89+ # Linux builders, remaining docker images
90+ - env : IMAGE=arm-android
91+ - env : IMAGE=armhf-gnu
92+ - env : IMAGE=cross DEPLOY=1
93+ - env : IMAGE=dist-aarch64-linux DEPLOY=1
94+ - env : IMAGE=dist-android DEPLOY=1
95+ - env : IMAGE=dist-arm-linux DEPLOY=1
96+ - env : IMAGE=dist-armhf-linux DEPLOY=1
97+ - env : IMAGE=dist-armv7-linux DEPLOY=1
98+ - env : IMAGE=dist-fuchsia DEPLOY=1
99+ - env : IMAGE=dist-i586-gnu-i686-musl DEPLOY=1
100+ - env : IMAGE=dist-i686-freebsd DEPLOY=1
101+ - env : IMAGE=dist-i686-linux DEPLOY=1
102+ - env : IMAGE=dist-mips-linux DEPLOY=1
103+ - env : IMAGE=dist-mips64-linux DEPLOY=1
104+ - env : IMAGE=dist-mips64el-linux DEPLOY=1
105+ - env : IMAGE=dist-mipsel-linux DEPLOY=1
106+ - env : IMAGE=dist-powerpc-linux DEPLOY=1
107+ - env : IMAGE=dist-powerpc64-linux DEPLOY=1
108+ - env : IMAGE=dist-powerpc64le-linux DEPLOY=1
109+ - env : IMAGE=dist-s390x-linux DEPLOY=1
110+ - env : IMAGE=dist-x86_64-freebsd DEPLOY=1
111+ - env : IMAGE=dist-x86_64-musl DEPLOY=1
112+ - env : IMAGE=dist-x86_64-netbsd DEPLOY=1
113+ - env : IMAGE=asmjs
114+ - env : IMAGE=i686-gnu
115+ - env : IMAGE=i686-gnu-nopt
116+ # - env: IMAGE=wasm32 issue 42646
117+ - env : IMAGE=x86_64-gnu
118+ - env : IMAGE=x86_64-gnu-full-bootstrap
119+ - env : IMAGE=x86_64-gnu-aux
120+ - env : IMAGE=x86_64-gnu-debug
121+ - env : IMAGE=x86_64-gnu-nopt
122+ - env : IMAGE=x86_64-gnu-distcheck
123+ - env : IMAGE=x86_64-gnu-incremental
137124
138125env :
139126 global :
@@ -142,41 +129,64 @@ env:
142129 # AWS_SECRET_ACCESS_KEY=...
143130 - secure : " Pixhh0hXDqGCdOyLtGFjli3J2AtDWIpyb2btIrLe956nCBDRutRoMm6rv5DI9sFZN07Mms7VzNNvhc9wCW1y63JAm414d2Co7Ob8kWMZlz9l9t7ACHuktUiis8yr+S4Quq1Vqd6pqi7pf2J++UxC8R/uLeqVrubzr6+X7AbmEFE="
144131
145- # Note that this is overridden on OSX builders
146- install : >
147- 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 &&
148- chmod +x $HOME/stamp &&
149- export PATH=$PATH:$HOME
132+ before_install :
133+ # If we are building a pull request, do the build if $ALLOW_PR == 1
134+ # Otherwise, do the build if we are on the auto branch, or the try branch and $ALLOW_TRY == 1
135+ - >
136+ if [[ "$TRAVIS_PULL_REQUEST" != "false" ]]; then
137+ if [[ "$ALLOW_PR" == "1" ]]; then
138+ export SKIP_BUILD=false;
139+ else
140+ export SKIP_BUILD=true;
141+ fi;
142+ elif [[ "$TRAVIS_BRANCH" == "auto" || ( "$ALLOW_TRY" == "1" && "$TRAVIS_BRANCH" == "try" ) ]]; then
143+ export SKIP_BUILD=false;
144+ else
145+ export SKIP_BUILD=true;
146+ fi
147+ - >
148+ if [[ "$SKIP_BUILD" == false ]]; then
149+ zcat $HOME/docker/rust-ci.tar.gz | docker load || true
150+ fi
151+ - mkdir -p $HOME/rustsrc
152+
153+ install :
154+ - >
155+ if [[ "$SKIP_BUILD" == true ]]; then
156+ echo echo skipping, not a full build > $HOME/stamp &&
157+ chmod +x $HOME/stamp &&
158+ export PATH=$PATH:$HOME;
159+ else
160+ case "$TRAVIS_OS_NAME" in
161+ linux)
162+ 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 &&
163+ chmod +x $HOME/stamp &&
164+ export PATH=$PATH:$HOME
165+ ;;
166+ osx)
167+ if [[ "$RUST_CHECK_TARGET" == dist ]]; then
168+ travis_retry brew update &&
169+ travis_retry brew install xz;
170+ fi &&
171+ 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 &&
172+ chmod +x /usr/local/bin/sccache &&
173+ 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 &&
174+ chmod +x /usr/local/bin/stamp
175+ ;;
176+ esac
177+ fi
150178
151179before_script :
152180 - >
153181 echo "#### Disk usage before running script:";
154182 df -h;
155183 du . | sort -nr | head -n100
156- # If we are building a pull request, do the build if $ALLOW_PR == 1
157- # Otherwise, do the build if we are on the auto branch, or the try branch and $ALLOW_TRY == 1
158184 - >
159- if [[ "$TRAVIS_PULL_REQUEST" != "false" ]]; then
160- if [[ "$ALLOW_PR" == "1" ]]; then
161- SKIP_BUILD=false;
162- else
163- SKIP_BUILD=true;
164- fi
165- elif [[ "$TRAVIS_BRANCH" == "auto" || ( "$ALLOW_TRY" == "1" && "$TRAVIS_BRANCH" == "try" ) ]]; then
166- SKIP_BUILD=false;
185+ RUN_SCRIPT="src/ci/init_repo.sh . $HOME/rustsrc";
186+ if [ "$TRAVIS_OS_NAME" = "osx" ]; then
187+ export RUN_SCRIPT="$RUN_SCRIPT && src/ci/run.sh";
167188 else
168- SKIP_BUILD=true;
169- fi
170-
171- if [[ "$SKIP_BUILD" == true ]]; then
172- export RUN_SCRIPT="echo 'skipping, not a full build'";
173- else
174- RUN_SCRIPT="src/ci/init_repo.sh . $HOME/rustsrc";
175- if [ "$TRAVIS_OS_NAME" = "osx" ]; then
176- export RUN_SCRIPT="$RUN_SCRIPT && src/ci/run.sh";
177- else
178- export RUN_SCRIPT="$RUN_SCRIPT && src/ci/docker/run.sh $IMAGE";
179- fi
189+ export RUN_SCRIPT="$RUN_SCRIPT && src/ci/docker/run.sh $IMAGE";
180190 fi
181191
182192# Log time information from this machine and an external machine for insight into possible
@@ -223,9 +233,6 @@ before_cache:
223233 grep -v missing |
224234 xargs docker save |
225235 gzip > $HOME/docker/rust-ci.tar.gz
226- before_install :
227- - zcat $HOME/docker/rust-ci.tar.gz | docker load || true
228- - mkdir -p $HOME/rustsrc
229236
230237notifications :
231238 email : false
0 commit comments