@@ -27,11 +27,11 @@ runners:
27
27
<< : *base-job
28
28
29
29
- &job-windows-8c
30
- os : windows-2019-8core-32gb
30
+ os : windows-2022
31
31
<< : *base-job
32
32
33
33
- &job-windows-16c
34
- os : windows-2019-16core-64gb
34
+ os : windows-2022
35
35
<< : *base-job
36
36
37
37
- &job-aarch64-linux
@@ -66,17 +66,140 @@ envs:
66
66
# These jobs automatically inherit envs.pr, to avoid repeating
67
67
# it in each job definition.
68
68
pr :
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
75
77
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
80
203
81
204
# Jobs that run when you perform a try build (@bors try)
82
205
# These jobs automatically inherit envs.production, to avoid repeating
0 commit comments