]> git.lizzy.rs Git - rust.git/blob - src/ci/azure-pipelines/auto.yml
Auto merge of #65838 - estebank:resilient-recovery, r=Centril
[rust.git] / src / ci / azure-pipelines / auto.yml
1 #
2 # Azure Pipelines "auto" branch build for Rust on Linux, macOS, and Windows.
3 #
4
5 pr: none
6 trigger:
7   - auto
8
9 variables:
10 - group: prod-credentials
11
12 jobs:
13 - job: Linux
14   timeoutInMinutes: 600
15   pool:
16     vmImage: ubuntu-16.04
17   steps:
18   - template: steps/run.yml
19   strategy:
20     matrix:
21       x86_64-gnu-llvm-6.0:
22         IMAGE: x86_64-gnu-llvm-6.0
23         RUST_BACKTRACE: 1
24
25       dist-x86_64-linux:
26         IMAGE: dist-x86_64-linux
27         DEPLOY: 1
28
29       # "alternate" deployments, these are "nightlies" but have LLVM assertions
30       # turned on, they're deployed to a different location primarily for
31       # additional testing.
32       dist-x86_64-linux-alt:
33         IMAGE: dist-x86_64-linux
34         DEPLOY_ALT: 1
35
36       # Linux builders, remaining docker images
37       arm-android:
38         IMAGE: arm-android
39
40       armhf-gnu:
41         IMAGE: armhf-gnu
42
43       dist-various-1:
44         IMAGE: dist-various-1
45         DEPLOY: 1
46
47       dist-various-2:
48         IMAGE: dist-various-2
49         DEPLOY: 1
50
51       dist-aarch64-linux:
52         IMAGE: dist-aarch64-linux
53         DEPLOY: 1
54
55       dist-android:
56         IMAGE: dist-android
57         DEPLOY: 1
58
59       dist-arm-linux:
60         IMAGE: dist-arm-linux
61         DEPLOY: 1
62
63       dist-armhf-linux:
64         IMAGE: dist-armhf-linux
65         DEPLOY: 1
66
67       dist-armv7-linux:
68         IMAGE: dist-armv7-linux
69         DEPLOY: 1
70
71       dist-i586-gnu-i586-i686-musl:
72         IMAGE: dist-i586-gnu-i586-i686-musl
73         DEPLOY: 1
74
75       dist-i686-freebsd:
76         IMAGE: dist-i686-freebsd
77         DEPLOY: 1
78
79       dist-i686-linux:
80         IMAGE: dist-i686-linux
81         DEPLOY: 1
82
83       dist-mips-linux:
84         IMAGE: dist-mips-linux
85         DEPLOY: 1
86
87       dist-mips64-linux:
88         IMAGE: dist-mips64-linux
89         DEPLOY: 1
90
91       dist-mips64el-linux:
92         IMAGE: dist-mips64el-linux
93         DEPLOY: 1
94
95       dist-mipsel-linux:
96         IMAGE: dist-mipsel-linux
97         DEPLOY: 1
98
99       dist-powerpc-linux:
100         IMAGE: dist-powerpc-linux
101         DEPLOY: 1
102
103       dist-powerpc64-linux:
104         IMAGE: dist-powerpc64-linux
105         DEPLOY: 1
106
107       dist-powerpc64le-linux:
108         IMAGE: dist-powerpc64le-linux
109         DEPLOY: 1
110
111       dist-s390x-linux:
112         IMAGE: dist-s390x-linux
113         DEPLOY: 1
114
115       dist-x86_64-freebsd:
116         IMAGE: dist-x86_64-freebsd
117         DEPLOY: 1
118
119       dist-x86_64-musl:
120         IMAGE: dist-x86_64-musl
121         DEPLOY: 1
122
123       dist-x86_64-netbsd:
124         IMAGE: dist-x86_64-netbsd
125         DEPLOY: 1
126
127       i686-gnu:
128         IMAGE: i686-gnu
129       i686-gnu-nopt:
130         IMAGE: i686-gnu-nopt
131       test-various:
132         IMAGE: test-various
133       wasm32:
134         IMAGE: wasm32
135       x86_64-gnu:
136         IMAGE: x86_64-gnu
137       x86_64-gnu-full-bootstrap:
138         IMAGE: x86_64-gnu-full-bootstrap
139       x86_64-gnu-aux:
140         IMAGE: x86_64-gnu-aux
141       x86_64-gnu-tools:
142         IMAGE: x86_64-gnu-tools
143         DEPLOY_TOOLSTATES_JSON: toolstates-linux.json
144       x86_64-gnu-debug:
145         IMAGE: x86_64-gnu-debug
146       x86_64-gnu-nopt:
147         IMAGE: x86_64-gnu-nopt
148       x86_64-gnu-distcheck:
149         IMAGE: x86_64-gnu-distcheck
150       mingw-check:
151         IMAGE: mingw-check
152
153 - job: macOS
154   timeoutInMinutes: 600
155   pool:
156     vmImage: macos-10.13
157   steps:
158   - template: steps/run.yml
159   strategy:
160     matrix:
161       # OSX builders running tests, these run the full test suite.
162       # NO_DEBUG_ASSERTIONS=1 to make them go faster, but also do have some
163       # runners that run `//ignore-debug` tests.
164       #
165       # Note that the compiler is compiled to target 10.8 here because the Xcode
166       # version that we're using, 8.2, cannot compile LLVM for OSX 10.7.
167       x86_64-apple:
168         SCRIPT: ./x.py test
169         RUST_CONFIGURE_ARGS: --build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc
170         RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
171         MACOSX_DEPLOYMENT_TARGET: 10.8
172         MACOSX_STD_DEPLOYMENT_TARGET: 10.7
173         NO_LLVM_ASSERTIONS: 1
174         NO_DEBUG_ASSERTIONS: 1
175
176       dist-x86_64-apple:
177         SCRIPT: ./x.py dist
178         RUST_CONFIGURE_ARGS: --target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc
179         DEPLOY: 1
180         RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
181         MACOSX_DEPLOYMENT_TARGET: 10.7
182         NO_LLVM_ASSERTIONS: 1
183         NO_DEBUG_ASSERTIONS: 1
184         DIST_REQUIRE_ALL_TOOLS: 1
185
186       dist-x86_64-apple-alt:
187         SCRIPT: ./x.py dist
188         RUST_CONFIGURE_ARGS: --enable-extended --enable-profiler --set rust.jemalloc
189         DEPLOY_ALT: 1
190         RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
191         MACOSX_DEPLOYMENT_TARGET: 10.7
192         NO_LLVM_ASSERTIONS: 1
193         NO_DEBUG_ASSERTIONS: 1
194
195       i686-apple:
196         SCRIPT: ./x.py test
197         RUST_CONFIGURE_ARGS: --build=i686-apple-darwin --set rust.jemalloc
198         RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
199         MACOSX_DEPLOYMENT_TARGET: 10.8
200         MACOSX_STD_DEPLOYMENT_TARGET: 10.7
201         NO_LLVM_ASSERTIONS: 1
202         NO_DEBUG_ASSERTIONS: 1
203
204       dist-i686-apple:
205         SCRIPT: ./x.py dist
206         RUST_CONFIGURE_ARGS: --build=i686-apple-darwin --enable-full-tools --enable-profiler --set rust.jemalloc
207         DEPLOY: 1
208         RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
209         MACOSX_DEPLOYMENT_TARGET: 10.7
210         NO_LLVM_ASSERTIONS: 1
211         NO_DEBUG_ASSERTIONS: 1
212         DIST_REQUIRE_ALL_TOOLS: 1
213
214
215
216 - job: Windows
217   timeoutInMinutes: 600
218   pool:
219     vmImage: 'vs2017-win2016'
220   steps:
221   - template: steps/run.yml
222   strategy:
223     matrix:
224       # 32/64 bit MSVC tests
225       x86_64-msvc-1:
226         MSYS_BITS: 64
227         RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
228         SCRIPT: make ci-subset-1
229         # FIXME(#59637)
230         NO_DEBUG_ASSERTIONS: 1
231         NO_LLVM_ASSERTIONS: 1
232       x86_64-msvc-2:
233         MSYS_BITS: 64
234         RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
235         SCRIPT: make ci-subset-2
236       i686-msvc-1:
237         MSYS_BITS: 32
238         RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
239         SCRIPT: make ci-subset-1
240         # FIXME(#59637)
241         NO_DEBUG_ASSERTIONS: 1
242         NO_LLVM_ASSERTIONS: 1
243       i686-msvc-2:
244         MSYS_BITS: 32
245         RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
246         SCRIPT: make ci-subset-2
247         # FIXME(#59637)
248         NO_DEBUG_ASSERTIONS: 1
249         NO_LLVM_ASSERTIONS: 1
250       # MSVC aux tests
251       x86_64-msvc-aux:
252         MSYS_BITS: 64
253         RUST_CHECK_TARGET: check-aux EXCLUDE_CARGO=1
254         RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
255       x86_64-msvc-cargo:
256         MSYS_BITS: 64
257         SCRIPT: python x.py test src/tools/cargotest src/tools/cargo
258         RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
259         VCVARS_BAT: vcvars64.bat
260         # FIXME(#59637)
261         NO_DEBUG_ASSERTIONS: 1
262         NO_LLVM_ASSERTIONS: 1
263       # MSVC tools tests
264       x86_64-msvc-tools:
265         MSYS_BITS: 64
266         SCRIPT: src/ci/docker/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstate/toolstates.json windows
267         RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --save-toolstates=/tmp/toolstate/toolstates.json
268         DEPLOY_TOOLSTATES_JSON: toolstates-windows.json
269
270       # 32/64-bit MinGW builds.
271       #
272       # We are using MinGW with posix threads since LLVM does not compile with
273       # the win32 threads version due to missing support for C++'s std::thread.
274       #
275       # Instead of relying on the MinGW version installed on appveryor we download
276       # and install one ourselves so we won't be surprised by changes to appveyor's
277       # build image.
278       #
279       # Finally, note that the downloads below are all in the `rust-lang-ci` S3
280       # bucket, but they cleraly didn't originate there! The downloads originally
281       # came from the mingw-w64 SourceForge download site. Unfortunately
282       # SourceForge is notoriously flaky, so we mirror it on our own infrastructure.
283       i686-mingw-1:
284         MSYS_BITS: 32
285         RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
286         SCRIPT: make ci-mingw-subset-1
287         MINGW_URL: https://rust-lang-ci-mirrors.s3-us-west-1.amazonaws.com/rustc
288         MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z
289         MINGW_DIR: mingw32
290         # FIXME(#59637)
291         NO_DEBUG_ASSERTIONS: 1
292         NO_LLVM_ASSERTIONS: 1
293       i686-mingw-2:
294         MSYS_BITS: 32
295         RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
296         SCRIPT: make ci-mingw-subset-2
297         MINGW_URL: https://rust-lang-ci-mirrors.s3-us-west-1.amazonaws.com/rustc
298         MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z
299         MINGW_DIR: mingw32
300       x86_64-mingw-1:
301         MSYS_BITS: 64
302         SCRIPT: make ci-mingw-subset-1
303         RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
304         MINGW_URL: https://rust-lang-ci-mirrors.s3-us-west-1.amazonaws.com/rustc
305         MINGW_ARCHIVE: x86_64-6.3.0-release-posix-seh-rt_v5-rev2.7z
306         MINGW_DIR: mingw64
307         # FIXME(#59637)
308         NO_DEBUG_ASSERTIONS: 1
309         NO_LLVM_ASSERTIONS: 1
310       x86_64-mingw-2:
311         MSYS_BITS: 64
312         SCRIPT: make ci-mingw-subset-2
313         RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
314         MINGW_URL: https://rust-lang-ci-mirrors.s3-us-west-1.amazonaws.com/rustc
315         MINGW_ARCHIVE: x86_64-6.3.0-release-posix-seh-rt_v5-rev2.7z
316         MINGW_DIR: mingw64
317
318       # 32/64 bit MSVC and GNU deployment
319       dist-x86_64-msvc:
320         MSYS_BITS: 64
321         RUST_CONFIGURE_ARGS: >
322           --build=x86_64-pc-windows-msvc
323           --target=x86_64-pc-windows-msvc,aarch64-pc-windows-msvc
324           --enable-full-tools
325           --enable-profiler
326         SCRIPT: python x.py dist
327         DIST_REQUIRE_ALL_TOOLS: 1
328         DEPLOY: 1
329       dist-i686-msvc:
330         MSYS_BITS: 32
331         RUST_CONFIGURE_ARGS: >
332           --build=i686-pc-windows-msvc
333           --target=i586-pc-windows-msvc
334           --enable-full-tools
335           --enable-profiler
336         SCRIPT: python x.py dist
337         DIST_REQUIRE_ALL_TOOLS: 1
338         DEPLOY: 1
339       dist-i686-mingw:
340         MSYS_BITS: 32
341         RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-full-tools --enable-profiler
342         SCRIPT: python x.py dist
343         MINGW_URL: https://rust-lang-ci-mirrors.s3-us-west-1.amazonaws.com/rustc
344         MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z
345         MINGW_DIR: mingw32
346         DIST_REQUIRE_ALL_TOOLS: 1
347         DEPLOY: 1
348       dist-x86_64-mingw:
349         MSYS_BITS: 64
350         SCRIPT: python x.py dist
351         RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-full-tools --enable-profiler
352         MINGW_URL: https://rust-lang-ci-mirrors.s3-us-west-1.amazonaws.com/rustc
353         MINGW_ARCHIVE: x86_64-6.3.0-release-posix-seh-rt_v5-rev2.7z
354         MINGW_DIR: mingw64
355         DIST_REQUIRE_ALL_TOOLS: 1
356         DEPLOY: 1
357
358       # "alternate" deployment, see .travis.yml for more info
359       dist-x86_64-msvc-alt:
360         MSYS_BITS: 64
361         RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
362         SCRIPT: python x.py dist
363         DEPLOY_ALT: 1