@@ -327,6 +327,82 @@ jobs:
327
327
- name : x86_64-gnu-tools
328
328
<< : *job-linux-16c
329
329
330
+ - name : x86_64-msvc
331
+ env :
332
+ RUST_CONFIGURE_ARGS : --build=x86_64-pc-windows-msvc --enable-profiler
333
+ SCRIPT : make ci-msvc
334
+ << : *job-windows-8c
335
+
336
+ - name : i686-msvc
337
+ env :
338
+ RUST_CONFIGURE_ARGS : --build=i686-pc-windows-msvc
339
+ SCRIPT : make ci-msvc
340
+ << : *job-windows-8c
341
+
342
+ - name : x86_64-msvc-ext
343
+ env :
344
+ SCRIPT : python x.py --stage 2 test src/tools/cargotest src/tools/cargo && src/ci/docker/host-x86_64/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstate/toolstates.json windows
345
+ RUST_CONFIGURE_ARGS : --build=x86_64-pc-windows-msvc --enable-lld --save-toolstates=/tmp/toolstate/toolstates.json
346
+ DEPLOY_TOOLSTATES_JSON : toolstates-windows.json
347
+ << : *job-windows-8c
348
+
349
+ # 32/64-bit MinGW builds.
350
+ #
351
+ # We are using MinGW with POSIX threads since LLVM requires
352
+ # C++'s std::thread which is disabled in libstdc++ with win32 threads.
353
+ # FIXME: Libc++ doesn't have this limitation so we can avoid
354
+ # winpthreads if we switch to it.
355
+ #
356
+ # Instead of relying on the MinGW version installed on CI we download
357
+ # and install one ourselves so we won't be surprised by changes to CI's
358
+ # build image.
359
+ #
360
+ # Finally, note that the downloads below are all in the `rust-lang-ci` S3
361
+ # bucket, but they clearly didn't originate there! The downloads originally
362
+ # came from the mingw-w64 SourceForge download site. Unfortunately
363
+ # SourceForge is notoriously flaky, so we mirror it on our own infrastructure.
364
+
365
+ - name : i686-mingw
366
+ env :
367
+ RUST_CONFIGURE_ARGS : --build=i686-pc-windows-gnu
368
+ SCRIPT : make ci-mingw
369
+ # We are intentionally allowing an old toolchain on this builder (and that's
370
+ # incompatible with LLVM downloads today).
371
+ NO_DOWNLOAD_CI_LLVM : 1
372
+ CUSTOM_MINGW : 1
373
+ << : *job-windows-8c
374
+
375
+ - name : x86_64-mingw
376
+ env :
377
+ SCRIPT : make ci-mingw
378
+ RUST_CONFIGURE_ARGS : >-
379
+ --build=x86_64-pc-windows-gnu
380
+ --enable-profiler
381
+ # We are intentionally allowing an old toolchain on this builder (and that's
382
+ # incompatible with LLVM downloads today).
383
+ NO_DOWNLOAD_CI_LLVM : 1
384
+ CUSTOM_MINGW : 1
385
+ << : *job-windows-8c
386
+
387
+ - name : dist-aarch64-msvc
388
+ env :
389
+ RUST_CONFIGURE_ARGS : >-
390
+ --build=x86_64-pc-windows-msvc
391
+ --host=aarch64-pc-windows-msvc
392
+ --enable-full-tools
393
+ --enable-profiler
394
+ SCRIPT : python x.py dist bootstrap --include-default-paths
395
+ DIST_REQUIRE_ALL_TOOLS : 1
396
+ << : *job-windows-8c
397
+
398
+ - name : dist-x86_64-msvc-alt
399
+ env :
400
+ RUST_CONFIGURE_ARGS : --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
401
+ SCRIPT : python x.py dist bootstrap --include-default-paths
402
+ << : *job-windows-8c
403
+
404
+
405
+
330
406
auto :
331
407
<< : *base-ci-job
332
408
name : auto - ${{ matrix.name }}
0 commit comments