Skip to content

Commit 044083c

Browse files
committed
docs(ci): simplify the target policy in the README
1 parent 78ddd93 commit 044083c

File tree

1 file changed

+14
-50
lines changed

1 file changed

+14
-50
lines changed

ci/actions-templates/README.md

+14-50
Original file line numberDiff line numberDiff line change
@@ -27,56 +27,20 @@ to S3 so that we can then make a release of rustup.
2727

2828
## Targets we need to build
2929

30-
We build for all the Tier one targets and a non-trivial number of the tier two
31-
targets of Rust. We do not even attempt tier three builds.
32-
33-
We don't run the tests on all the targets because many are cross-built. If we
34-
cross-build we don't run the tests. All the builds which aren't mac or windows
35-
are built on an x86_64 system because that's the easiest way to get a performant
36-
system.
37-
38-
| Target | Cross | Tier | On PR? | On master? |
39-
| ----------------------------- | ---------- | ----- | ------ | ---------- |
40-
| x86_64-unknown-linux-gnu | No | One | Yes | Yes |
41-
| armv7-unknown-linux-gnueabihf | Yes | Two | Yes | Yes |
42-
| aarch64-linux-android | Yes | Two | Yes | Yes |
43-
| aarch64-unknown-linux-gnu | Yes | Two | No | Yes |
44-
| aarch64-unknown-linux-musl | Yes | Two | No | Yes |
45-
| powerpc64-unknown-linux-gnu | Yes | Two | No | Yes |
46-
| x86_64-unknown-linux-musl | Yes | Two | No | Yes |
47-
| i686-unknown-linux-gnu | Yes | One | No | No |
48-
| arm-unknown-linux-gnueabi | Yes | Two | No | No |
49-
| arm-unknown-linux-gnueabihf | Yes | Two | No | No |
50-
| x86_64-unknown-freebsd | Yes | Two | No | No |
51-
| x86_64-unknown-netbsd | Yes | Two | No | No |
52-
| x86_64-unknown-illumos | Yes | Two | No | No |
53-
| powerpc-unknown-linux-gnu | Yes | Two | No | No |
54-
| powerpc64le-unknown-linux-gnu | Yes | Two | No | No |
55-
| mips-unknown-linux-gnu | Yes | Two | No | No |
56-
| mips64-unknown-linux-gnu | Yes | Two | No | No |
57-
| mipsel-unknown-linux-gnu | Yes | Two | No | No |
58-
| mips64el-unknown-linux-gnu | Yes | Two | No | No |
59-
| s390x-unknown-linux-gnu | Yes | Two | No | No |
60-
| arm-linux-androideabi | Yes | Two | No | No |
61-
| armv7-linux-androideabi | Yes | Two | No | No |
62-
| i686-linux-android | Yes | Two | No | No |
63-
| x86_64-linux-android | Yes | Two | No | No |
64-
| riscv64gc-unknown-linux-gnu | Yes | --- | No | No |
65-
| loongarch64-unknown-linux-gnu | Yes | Two | No | No |
66-
| ----------------------------- | ---------- | ----- | ------ | ---------- |
67-
| aarch64-apple-darwin | Yes | Two | Yes | Yes |
68-
| x86_64-apple-darwin | No | One | Yes | Yes |
69-
| ----------------------------- | ---------- | ----- | ------ | ---------- |
70-
| x86_64-pc-windows-msvc | No | One | Yes | Yes |
71-
| x86_64-pc-windows-gnu | No | One | No | Yes |
72-
| i686-pc-windows-msvc | No | One | No | No |
73-
| i686-pc-windows-gnu | No | One | No | No |
74-
| aarch64-pc-windows-msvc | Yes | Two | No | Yes |
75-
76-
We also have a clippy/shellcheck target which runs on x86_64 linux and is
77-
run in all cases. It does a `cargo fmt` check, a `cargo clippy` check on the
78-
beta toolchain, and also runs `rustup-init.sh` through to completion inside
79-
a centos 6 docker to ensure that we continue to work on there OK.
30+
We follow `rustc`'s [platform support policy] closely, and so `rustup` is expected
31+
to build for all targets listed in the _tier 1_ or the _tier 2 with host tools_ section.
32+
33+
[platform support policy]: https://doc.rust-lang.org/nightly/rustc/platform-support.html
34+
35+
In order to reduce the maintainance burden, targets listed in the _tier 2 without host
36+
tools_ section might get limited support, but should by no means become a blocker.
37+
We should not build for targets listed in the _tier 3_ section, and if a target gets
38+
downgraded to tier 3, its CI workflows should be dropped accordingly.
39+
40+
If a platform is directly supported by GitHub Action's free runners, we should always
41+
build for it natively with the full test suite activated.
42+
Otherwise, we might consider performing a cross-build, in which case we won't run the
43+
tests for the the target.
8044

8145
## Useful notes about how we run builds
8246

0 commit comments

Comments
 (0)