@@ -27,24 +27,141 @@ shared_defs:
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
38
38
os : [ self-hosted, ARM64, linux ]
39
39
40
40
pr :
41
- - name : mingw-check
42
- << : *job-linux-4c
43
- - name : mingw-check-tidy
44
- << : *job-linux-4c
45
- - name : x86_64-gnu-llvm-17
46
- env :
47
- ENABLE_GCC_CODEGEN : " 1"
48
- << : *job-linux-16c
49
- - name : x86_64-gnu-tools
50
- << : *job-linux-16c
41
+ - name : x86_64-msvc
42
+ env :
43
+ RUST_CONFIGURE_ARGS : --build=x86_64-pc-windows-msvc --enable-profiler
44
+ SCRIPT : make ci-msvc
45
+ << : *job-windows-8c
46
+
47
+ - name : i686-msvc
48
+ env :
49
+ RUST_CONFIGURE_ARGS : --build=i686-pc-windows-msvc
50
+ SCRIPT : make ci-msvc
51
+ << : *job-windows-8c
52
+
53
+ - name : x86_64-msvc-ext
54
+ env :
55
+ 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
56
+ HOST_TARGET : x86_64-pc-windows-msvc
57
+ RUST_CONFIGURE_ARGS : --build=x86_64-pc-windows-msvc --enable-lld --save-toolstates=/tmp/toolstate/toolstates.json
58
+ DEPLOY_TOOLSTATES_JSON : toolstates-windows.json
59
+ << : *job-windows-8c
60
+
61
+ # 32/64-bit MinGW builds.
62
+ #
63
+ # We are using MinGW with POSIX threads since LLVM requires
64
+ # C++'s std::thread which is disabled in libstdc++ with win32 threads.
65
+ # FIXME: Libc++ doesn't have this limitation so we can avoid
66
+ # winpthreads if we switch to it.
67
+ #
68
+ # Instead of relying on the MinGW version installed on CI we download
69
+ # and install one ourselves so we won't be surprised by changes to CI's
70
+ # build image.
71
+ #
72
+ # Finally, note that the downloads below are all in the `rust-lang-ci` S3
73
+ # bucket, but they clearly didn't originate there! The downloads originally
74
+ # came from the mingw-w64 SourceForge download site. Unfortunately
75
+ # SourceForge is notoriously flaky, so we mirror it on our own infrastructure.
76
+
77
+ - name : i686-mingw
78
+ env :
79
+ RUST_CONFIGURE_ARGS : --build=i686-pc-windows-gnu
80
+ SCRIPT : make ci-mingw
81
+ # We are intentionally allowing an old toolchain on this builder (and that's
82
+ # incompatible with LLVM downloads today).
83
+ NO_DOWNLOAD_CI_LLVM : 1
84
+ CUSTOM_MINGW : 1
85
+ << : *job-windows-8c
86
+
87
+ - name : x86_64-mingw
88
+ env :
89
+ SCRIPT : make ci-mingw
90
+ RUST_CONFIGURE_ARGS : >-
91
+ --build=x86_64-pc-windows-gnu
92
+ --enable-profiler
93
+ # We are intentionally allowing an old toolchain on this builder (and that's
94
+ # incompatible with LLVM downloads today).
95
+ NO_DOWNLOAD_CI_LLVM : 1
96
+ CUSTOM_MINGW : 1
97
+ << : *job-windows-8c
98
+
99
+ - name : dist-x86_64-msvc
100
+ env :
101
+ RUST_CONFIGURE_ARGS : >-
102
+ --build=x86_64-pc-windows-msvc
103
+ --host=x86_64-pc-windows-msvc
104
+ --target=x86_64-pc-windows-msvc
105
+ --enable-full-tools
106
+ --enable-profiler
107
+ --set rust.codegen-units=1
108
+ 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
109
+ DIST_REQUIRE_ALL_TOOLS : 1
110
+ << : *job-windows-8c
111
+
112
+ - name : dist-i686-msvc
113
+ env :
114
+ RUST_CONFIGURE_ARGS : >-
115
+ --build=i686-pc-windows-msvc
116
+ --host=i686-pc-windows-msvc
117
+ --target=i686-pc-windows-msvc,i586-pc-windows-msvc
118
+ --enable-full-tools
119
+ --enable-profiler
120
+ SCRIPT : python x.py dist bootstrap --include-default-paths
121
+ DIST_REQUIRE_ALL_TOOLS : 1
122
+ << : *job-windows-8c
123
+
124
+ - name : dist-aarch64-msvc
125
+ env :
126
+ RUST_CONFIGURE_ARGS : >-
127
+ --build=x86_64-pc-windows-msvc
128
+ --host=aarch64-pc-windows-msvc
129
+ --enable-full-tools
130
+ --enable-profiler
131
+ SCRIPT : python x.py dist bootstrap --include-default-paths
132
+ DIST_REQUIRE_ALL_TOOLS : 1
133
+ << : *job-windows-8c
134
+
135
+ - name : dist-i686-mingw
136
+ env :
137
+ RUST_CONFIGURE_ARGS : >-
138
+ --build=i686-pc-windows-gnu
139
+ --enable-full-tools
140
+ --enable-profiler
141
+ # We are intentionally allowing an old toolchain on this builder (and that's
142
+ # incompatible with LLVM downloads today).
143
+ NO_DOWNLOAD_CI_LLVM : 1
144
+ SCRIPT : python x.py dist bootstrap --include-default-paths
145
+ CUSTOM_MINGW : 1
146
+ DIST_REQUIRE_ALL_TOOLS : 1
147
+ << : *job-windows-8c
148
+
149
+ - name : dist-x86_64-mingw
150
+ env :
151
+ SCRIPT : python x.py dist bootstrap --include-default-paths
152
+ RUST_CONFIGURE_ARGS : >-
153
+ --build=x86_64-pc-windows-gnu
154
+ --enable-full-tools
155
+ --enable-profiler
156
+ # We are intentionally allowing an old toolchain on this builder (and that's
157
+ # incompatible with LLVM downloads today).
158
+ NO_DOWNLOAD_CI_LLVM : 1
159
+ CUSTOM_MINGW : 1
160
+ DIST_REQUIRE_ALL_TOOLS : 1
161
+ << : *job-windows-8c
162
+
163
+ - name : dist-x86_64-msvc-alt
164
+ env :
165
+ RUST_CONFIGURE_ARGS : --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
166
+ SCRIPT : python x.py dist bootstrap --include-default-paths
167
+ << : *job-windows-8c
0 commit comments