@@ -27,11 +27,11 @@ runners:
2727 << : *base-job
2828
2929 - &job-windows-8c
30- os : windows-2019-8core-32gb
30+ os : windows-2022
3131 << : *base-job
3232
3333 - &job-windows-16c
34- os : windows-2019-16core-64gb
34+ os : windows-2022
3535 << : *base-job
3636
3737 - &job-aarch64-linux
@@ -66,17 +66,144 @@ envs:
6666# These jobs automatically inherit envs.pr, to avoid repeating
6767# it in each job definition.
6868pr :
69- - image : mingw-check
70- << : *job-linux-4c
71- - image : mingw-check-tidy
72- continue_on_error : true
73- << : *job-linux-4c
74- - image : x86_64-gnu-llvm-17
69+ # WORKING: Requires updated Clang
70+ # - image: x86_64-msvc
71+ # env:
72+ # RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
73+ # SCRIPT: make ci-msvc
74+ # <<: *job-windows-8c
75+
76+ # WORKING: Requires updated Clang
77+ # - image: i686-msvc
78+ # env:
79+ # RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
80+ # SCRIPT: make ci-msvc
81+ # <<: *job-windows-8c
82+
83+ # WORKING: Requires updated Clang
84+ # - image: x86_64-msvc-ext
85+ # env:
86+ # 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
87+ # HOST_TARGET: x86_64-pc-windows-msvc
88+ # RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-lld --save-toolstates=/tmp/toolstate/toolstates.json
89+ # DEPLOY_TOOLSTATES_JSON: toolstates-windows.json
90+ # <<: *job-windows-8c
91+
92+ # 32/64-bit MinGW builds.
93+ #
94+ # We are using MinGW with POSIX threads since LLVM requires
95+ # C++'s std::thread which is disabled in libstdc++ with win32 threads.
96+ # FIXME: Libc++ doesn't have this limitation so we can avoid
97+ # winpthreads if we switch to it.
98+ #
99+ # Instead of relying on the MinGW version installed on CI we download
100+ # and install one ourselves so we won't be surprised by changes to CI's
101+ # build image.
102+ #
103+ # Finally, note that the downloads below are all in the `rust-lang-ci` S3
104+ # bucket, but they clearly didn't originate there! The downloads originally
105+ # came from the mingw-w64 SourceForge download site. Unfortunately
106+ # SourceForge is notoriously flaky, so we mirror it on our own infrastructure.
107+
108+ # WORKING
109+ # - image: i686-mingw
110+ # env:
111+ # RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
112+ # SCRIPT: make ci-mingw
113+ # # We are intentionally allowing an old toolchain on this builder (and that's
114+ # # incompatible with LLVM downloads today).
115+ # NO_DOWNLOAD_CI_LLVM: 1
116+ # CUSTOM_MINGW: 1
117+ # <<: *job-windows-8c
118+
119+ # WORKING
120+ # - image: x86_64-mingw
121+ # env:
122+ # SCRIPT: make ci-mingw
123+ # RUST_CONFIGURE_ARGS: >-
124+ # --build=x86_64-pc-windows-gnu
125+ # --enable-profiler
126+ # # We are intentionally allowing an old toolchain on this builder (and that's
127+ # # incompatible with LLVM downloads today).
128+ # NO_DOWNLOAD_CI_LLVM: 1
129+ # CUSTOM_MINGW: 1
130+ # <<: *job-windows-8c
131+
132+ - image : dist-x86_64-msvc
133+ timeout-minutes : 1200
75134 env :
76- ENABLE_GCC_CODEGEN : " 1"
77- << : *job-linux-16c
78- - image : x86_64-gnu-tools
79- << : *job-linux-16c
135+ RUST_CONFIGURE_ARGS : >-
136+ --build=x86_64-pc-windows-msvc
137+ --host=x86_64-pc-windows-msvc
138+ --target=x86_64-pc-windows-msvc
139+ --enable-full-tools
140+ --enable-profiler
141+ --set rust.codegen-units=1
142+ SCRIPT : python x.py build --set rust.debug=true opt-dist && PGO_HOST=x86_64-pc-windows-msvc ./build/x86_64-pc-windows-msvc/stage0-tools-bin/opt-dist windows-ci -- python x.py dist bootstrap --include-default-paths
143+ DIST_REQUIRE_ALL_TOOLS : 1
144+ << : *job-windows-8c
145+
146+ # WORKING: Requires updated Clang
147+ # - image: dist-i686-msvc
148+ # env:
149+ # RUST_CONFIGURE_ARGS: >-
150+ # --build=i686-pc-windows-msvc
151+ # --host=i686-pc-windows-msvc
152+ # --target=i686-pc-windows-msvc,i586-pc-windows-msvc
153+ # --enable-full-tools
154+ # --enable-profiler
155+ # SCRIPT: python x.py dist bootstrap --include-default-paths
156+ # DIST_REQUIRE_ALL_TOOLS: 1
157+ # <<: *job-windows-8c
158+
159+ # BROKEN: Requires https://github.com/llvm/llvm-project/pull/81849
160+ # - image: dist-aarch64-msvc
161+ # env:
162+ # RUST_CONFIGURE_ARGS: >-
163+ # --build=x86_64-pc-windows-msvc
164+ # --host=aarch64-pc-windows-msvc
165+ # --enable-full-tools
166+ # --enable-profiler
167+ # SCRIPT: python x.py dist bootstrap --include-default-paths
168+ # DIST_REQUIRE_ALL_TOOLS: 1
169+ # <<: *job-windows-8c
170+
171+ # WORKING
172+ # - image: dist-i686-mingw
173+ # env:
174+ # RUST_CONFIGURE_ARGS: >-
175+ # --build=i686-pc-windows-gnu
176+ # --enable-full-tools
177+ # --enable-profiler
178+ # # We are intentionally allowing an old toolchain on this builder (and that's
179+ # # incompatible with LLVM downloads today).
180+ # NO_DOWNLOAD_CI_LLVM: 1
181+ # SCRIPT: python x.py dist bootstrap --include-default-paths
182+ # CUSTOM_MINGW: 1
183+ # DIST_REQUIRE_ALL_TOOLS: 1
184+ # <<: *job-windows-8c
185+
186+ # WORKING
187+ # - image: dist-x86_64-mingw
188+ # env:
189+ # SCRIPT: python x.py dist bootstrap --include-default-paths
190+ # RUST_CONFIGURE_ARGS: >-
191+ # --build=x86_64-pc-windows-gnu
192+ # --enable-full-tools
193+ # --enable-profiler
194+ # # We are intentionally allowing an old toolchain on this builder (and that's
195+ # # incompatible with LLVM downloads today).
196+ # NO_DOWNLOAD_CI_LLVM: 1
197+ # CUSTOM_MINGW: 1
198+ # DIST_REQUIRE_ALL_TOOLS: 1
199+ # <<: *job-windows-8c
200+
201+ # WORKING: Requires updated Clang
202+ # - image: dist-x86_64-msvc-alt
203+ # env:
204+ # RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
205+ # SCRIPT: python x.py dist bootstrap --include-default-paths
206+ # <<: *job-windows-8c
80207
81208# Jobs that run when you perform a try build (@bors try)
82209# These jobs automatically inherit envs.production, to avoid repeating
0 commit comments