]> git.lizzy.rs Git - rust.git/blob - .azure-pipelines/auto.yml
ci: update azure variable groups
[rust.git] / .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: 180
15   pool:
16     vmImage: ubuntu-16.04
17   steps:
18   - template: steps/linux.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 #      asmjs:
128 #        IMAGE: asmjs
129 #      i686-gnu:
130 #        IMAGE: i686-gnu
131 #      i686-gnu-nopt:
132 #        IMAGE: i686-gnu-nopt
133 #      test-various:
134 #        IMAGE: test-various
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 #      # FIXME if: branch = auto OR (type = pull_request AND commit_message =~ /(?i:^update.*\b(rls|rustfmt|clippy|miri|cargo)\b)/)
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: 180
155   pool:
156     vmImage: macos-10.13
157   steps:
158   - checkout: self
159     fetchDepth: 2
160   - template: steps/macos.yml
161   strategy:
162     matrix:
163       # macOS builders. These are placed near the beginning because they are very
164       # slow to run.
165
166       # OSX builders running tests, these run the full test suite.
167       # NO_DEBUG_ASSERTIONS=1 to make them go faster, but also do have some
168       # runners that run `//ignore-debug` tests.
169       #
170       # Note that the compiler is compiled to target 10.8 here because the Xcode
171       # version that we're using, 8.2, cannot compile LLVM for OSX 10.7.
172       x86_64-apple:
173         RUST_CHECK_TARGET: check
174         RUST_CONFIGURE_ARGS: --build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc
175         RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
176         MACOSX_DEPLOYMENT_TARGET: 10.8
177         MACOSX_STD_DEPLOYMENT_TARGET: 10.7
178         NO_LLVM_ASSERTIONS: 1
179         NO_DEBUG_ASSERTIONS: 1
180
181       dist-x86_64-apple:
182         RUST_CHECK_TARGET: dist
183         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 --enable-lldb --set rust.jemalloc
184         DEPLOY: 1
185         RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
186         MACOSX_DEPLOYMENT_TARGET: 10.7
187         NO_LLVM_ASSERTIONS: 1
188         NO_DEBUG_ASSERTIONS: 1
189         DIST_REQUIRE_ALL_TOOLS: 1
190
191 #      dist-x86_64-apple-alt:
192 #        RUST_CHECK_TARGET: dist
193 #        RUST_CONFIGURE_ARGS: --enable-extended --enable-profiler --enable-lldb --set rust.jemalloc
194 #        DEPLOY_ALT: 1
195 #        RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
196 #        MACOSX_DEPLOYMENT_TARGET: 10.7
197 #        NO_LLVM_ASSERTIONS: 1
198 #        NO_DEBUG_ASSERTIONS: 1
199 #
200 #      i686-apple:
201 #        RUST_CHECK_TARGET: check
202 #        RUST_CONFIGURE_ARGS: --build=i686-apple-darwin --set rust.jemalloc
203 #        RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
204 #        MACOSX_DEPLOYMENT_TARGET: 10.8
205 #        MACOSX_STD_DEPLOYMENT_TARGET: 10.7
206 #        NO_LLVM_ASSERTIONS: 1
207 #        NO_DEBUG_ASSERTIONS: 1
208 #
209 #      dist-i686-apple:
210 #        RUST_CHECK_TARGET: dist
211 #        RUST_CONFIGURE_ARGS: --build=i686-apple-darwin --enable-full-tools --enable-profiler --enable-lldb --set rust.jemalloc
212 #        DEPLOY: 1
213 #        RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
214 #        MACOSX_DEPLOYMENT_TARGET: 10.7
215 #        NO_LLVM_ASSERTIONS: 1
216 #        NO_DEBUG_ASSERTIONS: 1
217 #        DIST_REQUIRE_ALL_TOOLS: 1
218
219
220
221 - job: Windows
222   timeoutInMinutes: 180
223   pool:
224     vmImage: 'vs2017-win2016'
225   steps:
226   - template: steps/windows.yml
227   strategy:
228     matrix:
229 #      # 32/64 bit MSVC tests
230 #      x86_64-msvc-1:
231 #        MSYS_BITS: 64
232 #        RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
233 #        SCRIPT: make ci-subset-1
234 #        # FIXME(#59637)
235 #        NO_DEBUG_ASSERTIONS: 1
236 #        NO_LLVM_ASSERTIONS: 1
237 #      x86_64-msvc-2:
238 #        MSYS_BITS: 64
239 #        RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
240 #        SCRIPT: make ci-subset-2
241 #      i686-msvc-1:
242 #        MSYS_BITS: 32
243 #        RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
244 #        SCRIPT: make ci-subset-1
245 #      i686-msvc-2:
246 #        MSYS_BITS: 32
247 #        RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
248 #        SCRIPT: make ci-subset-2
249 #      # MSVC aux tests
250 #      x86_64-msvc-aux:
251 #        MSYS_BITS: 64
252 #        RUST_CHECK_TARGET: check-aux EXCLUDE_CARGO=1
253 #        RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
254 #      x86_64-msvc-cargo:
255 #        MSYS_BITS: 64
256 #        SCRIPT: python x.py test src/tools/cargotest src/tools/cargo
257 #        RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
258 #        VCVARS_BAT: vcvars64.bat
259 #      # MSVC tools tests
260 #      x86_64-msvc-tools:
261 #        MSYS_BITS: 64
262 #        SCRIPT: src/ci/docker/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstates.json windows
263 #        RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --save-toolstates=/tmp/toolstates.json --enable-test-miri
264 #
265 #      # 32/64-bit MinGW builds.
266 #      #
267 #      # We are using MinGW with posix threads since LLVM does not compile with
268 #      # the win32 threads version due to missing support for C++'s std::thread.
269 #      #
270 #      # Instead of relying on the MinGW version installed on appveryor we download
271 #      # and install one ourselves so we won't be surprised by changes to appveyor's
272 #      # build image.
273 #      #
274 #      # Finally, note that the downloads below are all in the `rust-lang-ci` S3
275 #      # bucket, but they cleraly didn't originate there! The downloads originally
276 #      # came from the mingw-w64 SourceForge download site. Unfortunately
277 #      # SourceForge is notoriously flaky, so we mirror it on our own infrastructure.
278 #      i686-mingw-1:
279 #        MSYS_BITS: 32
280 #        RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
281 #        SCRIPT: make ci-subset-1
282 #        MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror
283 #        MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z
284 #        MINGW_DIR: mingw32
285 #        # FIXME(#59637)
286 #        NO_DEBUG_ASSERTIONS: 1
287 #        NO_LLVM_ASSERTIONS: 1
288 #      i686-mingw-2:
289 #        MSYS_BITS: 32
290 #        RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
291 #        SCRIPT: make ci-subset-2
292 #        MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror
293 #        MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z
294 #        MINGW_DIR: mingw32
295 #      x86_64-mingw-1:
296 #        MSYS_BITS: 64
297 #        SCRIPT: make ci-subset-1
298 #        RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
299 #        MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror
300 #        MINGW_ARCHIVE: x86_64-6.3.0-release-posix-seh-rt_v5-rev2.7z
301 #        MINGW_DIR: mingw64
302 #        # FIXME(#59637)
303 #        NO_DEBUG_ASSERTIONS: 1
304 #        NO_LLVM_ASSERTIONS: 1
305 #      x86_64-mingw-2:
306 #        MSYS_BITS: 64
307 #        SCRIPT: make ci-subset-2
308 #        RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
309 #        MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror
310 #        MINGW_ARCHIVE: x86_64-6.3.0-release-posix-seh-rt_v5-rev2.7z
311 #        MINGW_DIR: mingw64
312
313       # 32/64 bit MSVC and GNU deployment
314       dist-x86_64-msvc:
315         RUST_CONFIGURE_ARGS: >
316           --build=x86_64-pc-windows-msvc
317           --target=x86_64-pc-windows-msvc,aarch64-pc-windows-msvc
318           --enable-full-tools
319           --enable-profiler
320         SCRIPT: python x.py dist
321         DIST_REQUIRE_ALL_TOOLS: 1
322         DEPLOY: 1
323 #      dist-i686-msvc:
324 #        RUST_CONFIGURE_ARGS: >
325 #          --build=i686-pc-windows-msvc
326 #          --target=i586-pc-windows-msvc
327 #          --enable-full-tools
328 #          --enable-profiler
329 #        SCRIPT: python x.py dist
330 #        DIST_REQUIRE_ALL_TOOLS: 1
331 #        DEPLOY: 1
332 #      dist-i686-mingw:
333 #        MSYS_BITS: 32
334 #        RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-full-tools
335 #        SCRIPT: python x.py dist
336 #        MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror
337 #        MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z
338 #        MINGW_DIR: mingw32
339 #        DIST_REQUIRE_ALL_TOOLS: 1
340 #        DEPLOY: 1
341 #      dist-x86_64-mingw:
342 #        MSYS_BITS: 64
343 #        SCRIPT: python x.py dist
344 #        RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-full-tools
345 #        MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror
346 #        MINGW_ARCHIVE: x86_64-6.3.0-release-posix-seh-rt_v5-rev2.7z
347 #        MINGW_DIR: mingw64
348 #        DIST_REQUIRE_ALL_TOOLS: 1
349 #        DEPLOY: 1
350 #
351 #      # "alternate" deployment, see .travis.yml for more info
352 #      dist-x86_64-msvc-alt:
353 #        MSYS_BITS: 64
354 #        RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
355 #        SCRIPT: python x.py dist
356 #        DEPLOY_ALT: 1