@@ -327,6 +327,82 @@ jobs:
327327 - name : x86_64-gnu-tools
328328 << : *job-linux-16c
329329
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+
330406 auto :
331407 << : *base-ci-job
332408 name : auto - ${{ matrix.name }}
0 commit comments