@@ -15,19 +15,27 @@ matrix:
15
15
- env : IMAGE=arm-android
16
16
- env : IMAGE=armhf-gnu
17
17
- env : IMAGE=cross DEPLOY=1
18
+ - env : IMAGE=dist-aarch64-linux DEPLOY=1
18
19
- env : IMAGE=dist-android DEPLOY=1
19
20
- env : IMAGE=dist-arm-linux DEPLOY=1
20
- - env : IMAGE=dist-armv7-aarch64-linux DEPLOY=1
21
- - env : IMAGE=dist-freebsd DEPLOY=1
22
- - env : IMAGE=dist-i586-gnu-i686-musl DEPLOY=1
21
+ - env : IMAGE=dist-armhf-linux DEPLOY=1
22
+ - env : IMAGE=dist-armv7-linux DEPLOY=1
23
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
24
27
- env : IMAGE=dist-mips-linux DEPLOY=1
25
28
- env : IMAGE=dist-mips64-linux DEPLOY=1
29
+ - env : IMAGE=dist-mips64el-linux DEPLOY=1
30
+ - env : IMAGE=dist-mipsel-linux DEPLOY=1
26
31
- env : IMAGE=dist-powerpc-linux DEPLOY=1
27
32
- env : IMAGE=dist-powerpc64-linux DEPLOY=1
28
- - env : IMAGE=dist-s390x-linux-netbsd DEPLOY=1
29
- - env : IMAGE=dist-x86-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
30
37
- env : IMAGE=dist-x86_64-musl DEPLOY=1
38
+ - env : IMAGE=dist-x86_64-netbsd DEPLOY=1
31
39
- env : IMAGE=emscripten
32
40
- env : IMAGE=i686-gnu
33
41
- env : IMAGE=i686-gnu-nopt
@@ -40,70 +48,81 @@ matrix:
40
48
- env : IMAGE=x86_64-gnu-distcheck
41
49
- env : IMAGE=x86_64-gnu-incremental
42
50
43
- # OSX builders
51
+ # OSX builders running tests, these run the full test suite.
52
+ #
53
+ # Note that the compiler is compiled to target 10.8 here because the Xcode
54
+ # version that we're using, 8.2, cannot compile LLVM for OSX 10.7.
44
55
- env : >
45
56
RUST_CHECK_TARGET=check
46
57
RUST_CONFIGURE_ARGS=--build=x86_64-apple-darwin
47
58
SRC=.
48
59
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
49
60
SCCACHE_ERROR_LOG=/tmp/sccache.log
50
- RUST_LOG=sccache=debug
61
+ MACOSX_DEPLOYMENT_TARGET=10.8
62
+ MACOSX_STD_DEPLOYMENT_TARGET=10.7
51
63
os: osx
52
64
osx_image: xcode8.2
53
65
install: &osx_install_sccache >
54
- travis_retry curl -o /usr/local/bin/sccache https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-apple-darwin &&
55
- chmod +x /usr/local/bin/sccache
66
+ travis_retry curl -o /usr/local/bin/sccache https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-04-04-sccache-x86_64-apple-darwin &&
67
+ chmod +x /usr/local/bin/sccache &&
68
+ 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 &&
69
+ chmod +x /usr/local/bin/stamp
56
70
- env : >
57
71
RUST_CHECK_TARGET=check
58
72
RUST_CONFIGURE_ARGS=--build=i686-apple-darwin
59
73
SRC=.
60
74
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
61
75
SCCACHE_ERROR_LOG=/tmp/sccache.log
62
- RUST_LOG=sccache=debug
76
+ MACOSX_DEPLOYMENT_TARGET=10.8
77
+ MACOSX_STD_DEPLOYMENT_TARGET=10.7
63
78
os: osx
64
79
osx_image: xcode8.2
65
80
install: *osx_install_sccache
66
81
82
+ # OSX builders producing releases. These do not run the full test suite and
83
+ # just produce a bunch of artifacts.
84
+ #
85
+ # Note that these are running in the `xcode7` image instead of the
86
+ # `xcode8.2` image as above. That's because we want to build releases for
87
+ # OSX 10.7 and `xcode7` is the latest Xcode able to compile LLVM for 10.7.
67
88
- env : >
68
89
RUST_CHECK_TARGET=dist
69
90
RUST_CONFIGURE_ARGS="--build=i686-apple-darwin --enable-extended"
70
91
SRC=.
71
92
DEPLOY=1
72
93
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
73
94
SCCACHE_ERROR_LOG=/tmp/sccache.log
74
- RUST_LOG=sccache=debug
95
+ MACOSX_DEPLOYMENT_TARGET=10.7
75
96
os: osx
76
- osx_image: xcode8.2
77
- install: >
78
- travis_retry curl -o /usr/local/bin/sccache https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-apple-darwin &&
79
- chmod +x /usr/local/bin/sccache
97
+ osx_image: xcode7
98
+ install: *osx_install_sccache
80
99
- env : >
81
100
RUST_CHECK_TARGET=dist
82
101
RUST_CONFIGURE_ARGS="--target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-extended"
83
102
SRC=.
84
103
DEPLOY=1
85
104
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
86
105
SCCACHE_ERROR_LOG=/tmp/sccache.log
87
- RUST_LOG=sccache=debug
106
+ MACOSX_DEPLOYMENT_TARGET=10.7
88
107
os: osx
89
- osx_image: xcode8.2
108
+ osx_image: xcode7
90
109
install: *osx_install_sccache
91
110
92
111
# "alternate" deployments, these are "nightlies" but don't have assertions
93
112
# turned on, they're deployed to a different location primarily for projects
94
113
# which are stuck on nightly and don't want llvm assertions in the artifacts
95
114
# that they use.
96
- - env : IMAGE=dist-x86 -linux DEPLOY_ALT=1
115
+ - env : IMAGE=dist-x86_64 -linux DEPLOY_ALT=1
97
116
- env : >
98
117
RUST_CHECK_TARGET=dist
99
118
RUST_CONFIGURE_ARGS="--enable-extended"
100
119
SRC=.
101
120
DEPLOY_ALT=1
102
121
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
103
122
SCCACHE_ERROR_LOG=/tmp/sccache.log
104
- RUST_LOG=sccache=debug
123
+ MACOSX_DEPLOYMENT_TARGET=10.7
105
124
os: osx
106
- osx_image: xcode8.2
125
+ osx_image: xcode7
107
126
install: *osx_install_sccache
108
127
109
128
env :
@@ -113,6 +132,12 @@ env:
113
132
# AWS_SECRET_ACCESS_KEY=...
114
133
- secure : " Pixhh0hXDqGCdOyLtGFjli3J2AtDWIpyb2btIrLe956nCBDRutRoMm6rv5DI9sFZN07Mms7VzNNvhc9wCW1y63JAm414d2Co7Ob8kWMZlz9l9t7ACHuktUiis8yr+S4Quq1Vqd6pqi7pf2J++UxC8R/uLeqVrubzr6+X7AbmEFE="
115
134
135
+ # Note that this is overridden on OSX builders
136
+ install : >
137
+ 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 &&
138
+ chmod +x $HOME/stamp &&
139
+ export PATH=$PATH:$HOME
140
+
116
141
before_script :
117
142
- >
118
143
echo "#### Disk usage before running script:";
@@ -122,13 +147,14 @@ before_script:
122
147
script :
123
148
- >
124
149
if [ "$ALLOW_PR" = "" ] && [ "$TRAVIS_BRANCH" != "auto" ]; then
125
- echo skipping, not a full build;
126
- elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
127
- travis_retry sh -c 'git submodule deinit -f . && git submodule update --init' &&
128
- src/ci/run.sh;
150
+ echo skipping, not a full build
129
151
else
130
- travis_retry sh -c 'git submodule deinit -f . && git submodule update --init' &&
131
- src/ci/docker/run.sh $IMAGE;
152
+ stamp src/ci/init_repo.sh . "$HOME/rustsrc" &&
153
+ if [ "$TRAVIS_OS_NAME" = "osx" ]; then
154
+ stamp src/ci/run.sh;
155
+ else
156
+ stamp src/ci/docker/run.sh $IMAGE;
157
+ fi
132
158
fi
133
159
134
160
after_success :
@@ -142,24 +168,45 @@ after_failure:
142
168
echo "#### Build failed; Disk usage after running script:";
143
169
df -h;
144
170
du . | sort -nr | head -n100
171
+
172
+ # One of these is the linux sccache log, one is the OSX sccache log. Instead
173
+ # of worrying about what system we are just cat both. One of these commands
174
+ # will fail but that's ok, they'll both get executed.
145
175
- cat obj/tmp/sccache.log
146
176
- cat /tmp/sccache.log
147
177
178
+ # Random attempt at debugging currently. Just poking around in here to see if
179
+ # anything shows up.
180
+ - ls $HOME/Library/Logs/DiagnosticReports/
181
+
182
+ # attempt to debug anything killed by the oom killer on linux, just to see if
183
+ # it happened
184
+ - dmesg | grep -i kill
185
+
148
186
# Save tagged docker images we created and load them if they're available
187
+ # Travis saves caches whether the build failed or not, nuke rustsrc if
188
+ # the failure was while updating it (as it may be in an bad state)
189
+ # https://github.com/travis-ci/travis-ci/issues/4472
149
190
before_cache :
150
191
- docker history -q rust-ci |
151
192
grep -v missing |
152
193
xargs docker save |
153
194
gzip > $HOME/docker/rust-ci.tar.gz
195
+ - if [ ! -f $HOME/rustsrc/cache_valid1 ]; then
196
+ echo "WARNING rustsrc cache was invalid when saving";
197
+ rm -rf $HOME/rustsrc && mkdir $HOME/rustsrc;
198
+ fi
154
199
before_install :
155
200
- zcat $HOME/docker/rust-ci.tar.gz | docker load || true
201
+ - mkdir -p $HOME/rustsrc
156
202
157
203
notifications :
158
204
email : false
159
205
160
206
cache :
161
207
directories :
162
208
- $HOME/docker
209
+ - $HOME/rustsrc
163
210
164
211
before_deploy :
165
212
- mkdir -p deploy/$TRAVIS_COMMIT
0 commit comments