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