2 # Azure Pipelines "auto" branch build for Rust on Linux, macOS, and Windows.
10 - group: prod-credentials
18 - template: steps/run.yml
22 IMAGE: x86_64-gnu-llvm-6.0
26 IMAGE: dist-x86_64-linux
29 # "alternate" deployments, these are "nightlies" but have LLVM assertions
30 # turned on, they're deployed to a different location primarily for
32 dist-x86_64-linux-alt:
33 IMAGE: dist-x86_64-linux
36 # Linux builders, remaining docker images
52 IMAGE: dist-aarch64-linux
64 IMAGE: dist-armhf-linux
68 IMAGE: dist-armv7-linux
71 dist-i586-gnu-i586-i686-musl:
72 IMAGE: dist-i586-gnu-i586-i686-musl
76 IMAGE: dist-i686-freebsd
80 IMAGE: dist-i686-linux
84 IMAGE: dist-mips-linux
88 IMAGE: dist-mips64-linux
92 IMAGE: dist-mips64el-linux
96 IMAGE: dist-mipsel-linux
100 IMAGE: dist-powerpc-linux
103 dist-powerpc64-linux:
104 IMAGE: dist-powerpc64-linux
107 dist-powerpc64le-linux:
108 IMAGE: dist-powerpc64le-linux
112 IMAGE: dist-s390x-linux
116 IMAGE: dist-x86_64-freebsd
120 IMAGE: dist-x86_64-musl
124 IMAGE: dist-x86_64-netbsd
137 x86_64-gnu-full-bootstrap:
138 IMAGE: x86_64-gnu-full-bootstrap
140 IMAGE: x86_64-gnu-aux
142 IMAGE: x86_64-gnu-tools
143 DEPLOY_TOOLSTATES_JSON: toolstates-linux.json
145 IMAGE: x86_64-gnu-debug
147 IMAGE: x86_64-gnu-nopt
148 x86_64-gnu-distcheck:
149 IMAGE: x86_64-gnu-distcheck
154 timeoutInMinutes: 600
158 - template: steps/run.yml
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.
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.
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
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
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
186 dist-x86_64-apple-alt:
188 RUST_CONFIGURE_ARGS: --enable-extended --enable-profiler --set rust.jemalloc
190 RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
191 MACOSX_DEPLOYMENT_TARGET: 10.7
192 NO_LLVM_ASSERTIONS: 1
193 NO_DEBUG_ASSERTIONS: 1
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
206 RUST_CONFIGURE_ARGS: --build=i686-apple-darwin --enable-full-tools --enable-profiler --set rust.jemalloc
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
217 timeoutInMinutes: 600
219 vmImage: 'vs2017-win2016'
221 - template: steps/run.yml
224 # 32/64 bit MSVC tests
227 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
228 SCRIPT: make ci-subset-1
230 NO_DEBUG_ASSERTIONS: 1
231 NO_LLVM_ASSERTIONS: 1
234 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
235 SCRIPT: make ci-subset-2
238 RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
239 SCRIPT: make ci-subset-1
241 NO_DEBUG_ASSERTIONS: 1
242 NO_LLVM_ASSERTIONS: 1
245 RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
246 SCRIPT: make ci-subset-2
248 NO_DEBUG_ASSERTIONS: 1
249 NO_LLVM_ASSERTIONS: 1
253 RUST_CHECK_TARGET: check-aux EXCLUDE_CARGO=1
254 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
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
261 NO_DEBUG_ASSERTIONS: 1
262 NO_LLVM_ASSERTIONS: 1
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
270 # 32/64-bit MinGW builds.
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.
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
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.
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
291 NO_DEBUG_ASSERTIONS: 1
292 NO_LLVM_ASSERTIONS: 1
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
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
308 NO_DEBUG_ASSERTIONS: 1
309 NO_LLVM_ASSERTIONS: 1
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
318 # 32/64 bit MSVC and GNU deployment
321 RUST_CONFIGURE_ARGS: >
322 --build=x86_64-pc-windows-msvc
323 --target=x86_64-pc-windows-msvc,aarch64-pc-windows-msvc
326 SCRIPT: python x.py dist
327 DIST_REQUIRE_ALL_TOOLS: 1
331 RUST_CONFIGURE_ARGS: >
332 --build=i686-pc-windows-msvc
333 --target=i586-pc-windows-msvc
336 SCRIPT: python x.py dist
337 DIST_REQUIRE_ALL_TOOLS: 1
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
346 DIST_REQUIRE_ALL_TOOLS: 1
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
355 DIST_REQUIRE_ALL_TOOLS: 1
358 # "alternate" deployment, see .travis.yml for more info
359 dist-x86_64-msvc-alt:
361 RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
362 SCRIPT: python x.py dist