Skip to content

Commit 0f4f2a9

Browse files
committed
ci: Update targets in verify-build
Do a few things: * Update the list to reflect current target tiers. * Add some missing T2 targets (includes ohos and gnullvm). * Remove unneeded `dist = False` and minimum toolchain config. * Delete some `-none-` targets, which don't make use of libc. * Add a check for duplicates. * Re-group and sort the lists. (backport <#4780>) (cherry picked from commit 24d0049)
1 parent e67cc71 commit 0f4f2a9

File tree

1 file changed

+71
-56
lines changed

1 file changed

+71
-56
lines changed

ci/verify-build.py

Lines changed: 71 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -77,81 +77,90 @@ def run_on(self) -> Os:
7777

7878
FREEBSD_VERSIONS = [11, 12, 13, 14, 15]
7979

80+
# FIXME(ohos): CI fails with warnings
8081
TARGETS = [
81-
# linux
82-
Target("aarch64-linux-android"),
82+
# Tier 1
83+
Target("aarch64-apple-darwin"),
84+
Target("aarch64-pc-windows-msvc"),
8385
Target("aarch64-unknown-linux-gnu"),
86+
Target("i686-pc-windows-msvc"),
87+
Target("i686-unknown-linux-gnu"),
88+
Target("x86_64-pc-windows-gnu"),
89+
Target("x86_64-pc-windows-msvc"),
90+
Target("x86_64-unknown-linux-gnu"),
91+
#
92+
# Tier 2 with host tools
93+
Target("aarch64-pc-windows-gnullvm", min_toolchain=Toolchain.STABLE),
8494
Target("aarch64-unknown-linux-musl"),
85-
Target("arm-linux-androideabi"),
95+
# Target("aarch64-unknown-linux-ohos"),
8696
Target("arm-unknown-linux-gnueabi"),
8797
Target("arm-unknown-linux-gnueabihf"),
98+
Target("armv7-unknown-linux-gnueabihf"),
99+
# Target("armv7-unknown-linux-ohos"),
100+
Target("i686-pc-windows-gnu"),
101+
Target("loongarch64-unknown-linux-gnu", min_toolchain=Toolchain.STABLE),
102+
Target("loongarch64-unknown-linux-musl", min_toolchain=Toolchain.STABLE),
103+
Target("powerpc-unknown-linux-gnu"),
104+
Target("powerpc64-unknown-linux-gnu"),
105+
Target("powerpc64le-unknown-linux-gnu"),
106+
Target("powerpc64le-unknown-linux-musl", min_toolchain=Toolchain.STABLE),
107+
Target("riscv64gc-unknown-linux-gnu"),
108+
Target("s390x-unknown-linux-gnu"),
109+
Target("sparcv9-sun-solaris"),
110+
Target("x86_64-apple-darwin"),
111+
Target("x86_64-pc-solaris"),
112+
Target("x86_64-pc-windows-gnullvm", min_toolchain=Toolchain.STABLE),
113+
Target("x86_64-unknown-freebsd"),
114+
Target("x86_64-unknown-illumos"),
115+
Target("x86_64-unknown-linux-musl"),
116+
# Target("x86_64-unknown-linux-ohos"),
117+
Target("x86_64-unknown-netbsd"),
118+
#
119+
# Tier 2 without host tools
120+
Target("aarch64-apple-ios"),
121+
Target("aarch64-linux-android"),
122+
Target("aarch64-unknown-fuchsia", min_toolchain=Toolchain.STABLE),
123+
Target("arm-linux-androideabi"),
88124
Target("arm-unknown-linux-musleabi"),
89125
Target("arm-unknown-linux-musleabihf"),
126+
Target("armv5te-unknown-linux-gnueabi"),
127+
Target("armv5te-unknown-linux-musleabi"),
90128
Target("armv7-linux-androideabi"),
91-
Target("armv7-unknown-linux-gnueabihf"),
92129
Target("armv7-unknown-linux-musleabihf"),
93130
Target("i586-unknown-linux-gnu"),
94131
Target("i586-unknown-linux-musl"),
95132
Target("i686-linux-android"),
96133
Target("i686-unknown-freebsd"),
97-
Target("i686-unknown-linux-gnu"),
98134
Target("i686-unknown-linux-musl"),
99-
Target("powerpc-unknown-linux-gnu"),
100-
Target("powerpc64-unknown-linux-gnu"),
101-
Target("powerpc64le-unknown-linux-gnu"),
102-
Target("s390x-unknown-linux-gnu"),
103135
Target("sparc64-unknown-linux-gnu"),
104-
Target("sparcv9-sun-solaris"),
105136
Target("wasm32-unknown-emscripten"),
106137
Target("wasm32-unknown-unknown"),
107-
# Target was renamed
108138
Target("wasm32-wasip1", min_toolchain=Toolchain.STABLE),
109139
Target("wasm32-wasip2", min_toolchain=Toolchain.STABLE),
140+
Target("x86_64-fortanix-unknown-sgx"),
110141
Target("x86_64-linux-android"),
111-
Target("x86_64-unknown-freebsd"),
112-
Target("x86_64-unknown-linux-gnu"),
113-
Target("x86_64-unknown-linux-musl"),
114-
Target("x86_64-unknown-netbsd"),
115-
# nightly linux
116-
# FIXME(powerpc64le): powerpc64le-unknown-linux-musl is tier 2 since 1.85 and
117-
# can be moved to rust_linux_targets once MSRV is increased
118-
Target("aarch64-unknown-fuchsia", min_toolchain=Toolchain.NIGHTLY),
119-
Target("armv5te-unknown-linux-gnueabi", min_toolchain=Toolchain.NIGHTLY),
120-
Target("armv5te-unknown-linux-musleabi", min_toolchain=Toolchain.NIGHTLY),
121-
Target("i686-pc-windows-gnu", min_toolchain=Toolchain.NIGHTLY),
122-
Target("powerpc64le-unknown-linux-musl", min_toolchain=Toolchain.NIGHTLY),
123-
Target("riscv64gc-unknown-linux-gnu", min_toolchain=Toolchain.NIGHTLY),
124-
Target("x86_64-fortanix-unknown-sgx", min_toolchain=Toolchain.NIGHTLY),
125-
Target("x86_64-pc-solaris", min_toolchain=Toolchain.NIGHTLY),
126-
Target("x86_64-pc-windows-gnu", min_toolchain=Toolchain.NIGHTLY),
127-
Target("x86_64-unknown-fuchsia", min_toolchain=Toolchain.NIGHTLY),
128-
Target("x86_64-unknown-illumos", min_toolchain=Toolchain.NIGHTLY),
129-
Target("x86_64-unknown-linux-gnux32", min_toolchain=Toolchain.NIGHTLY),
130-
Target("x86_64-unknown-redox", min_toolchain=Toolchain.NIGHTLY),
131-
# apple
132-
Target("aarch64-apple-darwin"),
133-
Target("aarch64-apple-ios"),
134-
# windows
135-
Target("x86_64-pc-windows-msvc"),
136-
Target("x86_64-pc-windows-gnu"),
137-
Target("i686-pc-windows-msvc"),
138-
# linux nodist
139-
# Targets which are not available via rustup and must be built with -Zbuild-std
140-
# FIXME(hexagon): hexagon-unknown-linux-musl should be tested but currently has
141-
# duplicate symbol errors from `compiler_builtins`.
142-
Target("aarch64-pc-windows-msvc", dist=False),
142+
Target("x86_64-unknown-fuchsia", min_toolchain=Toolchain.STABLE),
143+
Target("x86_64-unknown-linux-gnux32"),
144+
Target("x86_64-unknown-redox"),
145+
#
146+
# Libc has historically checked that a number of tier 3 targets build. Technically
147+
# there is no need to do this given the target tier policy, but the cost is small
148+
# and the saved churn from accidental breakage is significant, so we keep it around.
143149
Target("aarch64-unknown-freebsd", dist=False),
144150
Target("aarch64-unknown-hermit", dist=False),
151+
Target("aarch64-unknown-illumos", dist=False),
145152
Target("aarch64-unknown-netbsd", dist=False),
146153
Target("aarch64-unknown-openbsd", dist=False),
147154
Target("aarch64-wrs-vxworks", dist=False),
148-
Target("armebv7r-none-eabi", dist=False),
149155
Target("armebv7r-none-eabihf", dist=False),
150156
Target("armv7-wrs-vxworks-eabihf", dist=False),
151-
Target("armv7r-none-eabi", dist=False),
152157
Target("armv7r-none-eabihf", dist=False),
153-
Target("i686-pc-windows-msvc", dist=False),
158+
Target("armv7s-apple-ios", dist=False),
159+
Target("hexagon-unknown-linux-musl", dist=False),
160+
Target("i386-apple-ios", dist=False),
161+
Target("i686-apple-darwin", dist=False),
154162
Target("i686-unknown-haiku", dist=False),
163+
Target("i686-unknown-hurd-gnu", dist=False),
155164
Target("i686-unknown-netbsd", dist=False),
156165
Target("i686-unknown-openbsd", dist=False),
157166
Target("i686-wrs-vxworks", dist=False),
@@ -168,40 +177,35 @@ def run_on(self) -> Os:
168177
Target("powerpc-unknown-netbsd", dist=False),
169178
Target("powerpc-wrs-vxworks", dist=False),
170179
Target("powerpc-wrs-vxworks-spe", dist=False),
180+
Target("powerpc64-ibm-aix", dist=False),
171181
Target("powerpc64-unknown-freebsd", dist=False),
172182
Target("powerpc64-wrs-vxworks", dist=False),
183+
Target("riscv32-wrs-vxworks", dist=False),
184+
Target("riscv32gc-unknown-linux-gnu", dist=False),
173185
Target("riscv32i-unknown-none-elf", dist=False),
174186
Target("riscv32imac-unknown-none-elf", dist=False),
175187
Target("riscv32imc-unknown-none-elf", dist=False),
176-
Target("riscv32gc-unknown-linux-gnu", dist=False),
177-
Target("riscv32-wrs-vxworks", dist=False),
188+
Target("riscv64-wrs-vxworks", dist=False),
189+
Target("riscv64a23-unknown-linux-gnu", dist=False),
178190
Target("riscv64gc-unknown-freebsd", dist=False),
179191
Target("riscv64gc-unknown-hermit", dist=False),
180192
Target("riscv64gc-unknown-linux-musl", dist=False),
181193
Target("riscv64gc-unknown-none-elf", dist=False),
182194
Target("riscv64imac-unknown-none-elf", dist=False),
183-
Target("riscv64-wrs-vxworks", dist=False),
184195
Target("s390x-unknown-linux-musl", dist=False),
185196
Target("sparc-unknown-linux-gnu", dist=False),
186197
Target("sparc64-unknown-netbsd", dist=False),
187-
Target("thumbv6m-none-eabi", dist=False),
188-
Target("thumbv7em-none-eabi", dist=False),
189198
Target("thumbv7em-none-eabihf", dist=False),
190199
Target("thumbv7m-none-eabi", dist=False),
191200
Target("thumbv7neon-linux-androideabi", dist=False),
192201
Target("thumbv7neon-unknown-linux-gnueabihf", dist=False),
193202
Target("thumbv8m.main-none-eabi", dist=False),
194-
Target("x86_64-pc-windows-msvc", dist=False),
195203
Target("x86_64-unknown-dragonfly", dist=False),
196204
Target("x86_64-unknown-haiku", dist=False),
197205
Target("x86_64-unknown-hermit", dist=False),
198206
Target("x86_64-unknown-l4re-uclibc", dist=False),
199207
Target("x86_64-unknown-openbsd", dist=False),
200208
Target("x86_64-wrs-vxworks", dist=False),
201-
# apple nodist
202-
Target("armv7s-apple-ios", dist=False),
203-
Target("i686-apple-darwin", dist=False),
204-
Target("i386-apple-ios", dist=False),
205209
]
206210

207211

@@ -230,6 +234,16 @@ def run(args: list[str], /, env: Optional[dict[str, str]] = None):
230234
sp.run(args, env=env, check=True)
231235

232236

237+
def check_dup_targets():
238+
all = set()
239+
duplicates = set()
240+
for target in TARGETS:
241+
if target.name in all:
242+
duplicates.add(target.name)
243+
all.add(target.name)
244+
assert len(duplicates) == 0, f"duplicate targets: {duplicates}"
245+
246+
233247
def test_target(cfg: Cfg, target: Target):
234248
env = os.environ.copy()
235249
env.setdefault("RUSTFLAGS", "")
@@ -315,6 +329,7 @@ def main():
315329
cfg = Cfg(toolchain_name=args.toolchain)
316330
eprint(f"Config: {cfg}")
317331
eprint("Python version: ", sys.version)
332+
check_dup_targets()
318333

319334
if cfg.nightly():
320335
# Needed for build-std

0 commit comments

Comments
 (0)