@@ -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,71 +48,91 @@ 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
- RUST_CONFIGURE_ARGS=--build=x86_64-apple-darwin
57
+ RUST_CONFIGURE_ARGS=" --build=x86_64-apple-darwin --enable-sanitizers"
47
58
SRC=.
48
59
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
49
60
SCCACHE_ERROR_LOG=/tmp/sccache.log
50
- RUST_LOG=sccache
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-05-12-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
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
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:
99
+ - travis_retry brew update
100
+ - travis_retry brew install xz
101
+ - *osx_install_sccache
80
102
- env : >
81
103
RUST_CHECK_TARGET=dist
82
- RUST_CONFIGURE_ARGS="--target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-extended"
104
+ RUST_CONFIGURE_ARGS="--target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-extended --enable-sanitizers "
83
105
SRC=.
84
106
DEPLOY=1
85
107
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
86
108
SCCACHE_ERROR_LOG=/tmp/sccache.log
87
- RUST_LOG=sccache
109
+ MACOSX_DEPLOYMENT_TARGET=10.7
88
110
os: osx
89
- osx_image: xcode8.2
90
- install: *osx_install_sccache
111
+ osx_image: xcode7
112
+ install:
113
+ - travis_retry brew update
114
+ - travis_retry brew install xz
115
+ - *osx_install_sccache
91
116
92
117
# "alternate" deployments, these are "nightlies" but don't have assertions
93
118
# turned on, they're deployed to a different location primarily for projects
94
119
# which are stuck on nightly and don't want llvm assertions in the artifacts
95
120
# that they use.
96
- - env : IMAGE=dist-x86 -linux DEPLOY_ALT=1
121
+ - env : IMAGE=dist-x86_64 -linux DEPLOY_ALT=1
97
122
- env : >
98
123
RUST_CHECK_TARGET=dist
99
124
RUST_CONFIGURE_ARGS="--enable-extended"
100
125
SRC=.
101
126
DEPLOY_ALT=1
102
127
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
103
128
SCCACHE_ERROR_LOG=/tmp/sccache.log
104
- RUST_LOG=sccache
129
+ MACOSX_DEPLOYMENT_TARGET=10.7
105
130
os: osx
106
- osx_image: xcode8.2
107
- install: *osx_install_sccache
131
+ osx_image: xcode7
132
+ install:
133
+ - travis_retry brew update
134
+ - travis_retry brew install xz
135
+ - *osx_install_sccache
108
136
109
137
env :
110
138
global :
@@ -113,6 +141,12 @@ env:
113
141
# AWS_SECRET_ACCESS_KEY=...
114
142
- secure : " Pixhh0hXDqGCdOyLtGFjli3J2AtDWIpyb2btIrLe956nCBDRutRoMm6rv5DI9sFZN07Mms7VzNNvhc9wCW1y63JAm414d2Co7Ob8kWMZlz9l9t7ACHuktUiis8yr+S4Quq1Vqd6pqi7pf2J++UxC8R/uLeqVrubzr6+X7AbmEFE="
115
143
144
+ # Note that this is overridden on OSX builders
145
+ install : >
146
+ 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 &&
147
+ chmod +x $HOME/stamp &&
148
+ export PATH=$PATH:$HOME
149
+
116
150
before_script :
117
151
- >
118
152
echo "#### Disk usage before running script:";
@@ -122,13 +156,14 @@ before_script:
122
156
script :
123
157
- >
124
158
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;
159
+ echo skipping, not a full build
129
160
else
130
- travis_retry sh -c 'git submodule deinit -f . && git submodule update --init' &&
131
- src/ci/docker/run.sh $IMAGE;
161
+ stamp src/ci/init_repo.sh . "$HOME/rustsrc" &&
162
+ if [ "$TRAVIS_OS_NAME" = "osx" ]; then
163
+ stamp src/ci/run.sh;
164
+ else
165
+ stamp src/ci/docker/run.sh $IMAGE;
166
+ fi
132
167
fi
133
168
134
169
after_success :
@@ -142,17 +177,33 @@ after_failure:
142
177
echo "#### Build failed; Disk usage after running script:";
143
178
df -h;
144
179
du . | sort -nr | head -n100
180
+
181
+ # One of these is the linux sccache log, one is the OSX sccache log. Instead
182
+ # of worrying about what system we are just cat both. One of these commands
183
+ # will fail but that's ok, they'll both get executed.
145
184
- cat obj/tmp/sccache.log
146
185
- cat /tmp/sccache.log
147
186
187
+ # Random attempt at debugging currently. Just poking around in here to see if
188
+ # anything shows up.
189
+ - ls $HOME/Library/Logs/DiagnosticReports/
190
+
191
+ # attempt to debug anything killed by the oom killer on linux, just to see if
192
+ # it happened
193
+ - dmesg | grep -i kill
194
+
148
195
# Save tagged docker images we created and load them if they're available
196
+ # Travis saves caches whether the build failed or not, nuke rustsrc if
197
+ # the failure was while updating it (as it may be in a bad state)
198
+ # https://github.com/travis-ci/travis-ci/issues/4472
149
199
before_cache :
150
200
- docker history -q rust-ci |
151
201
grep -v missing |
152
202
xargs docker save |
153
203
gzip > $HOME/docker/rust-ci.tar.gz
154
204
before_install :
155
205
- zcat $HOME/docker/rust-ci.tar.gz | docker load || true
206
+ - mkdir -p $HOME/rustsrc
156
207
157
208
notifications :
158
209
email : false
0 commit comments