@@ -27,56 +27,20 @@ to S3 so that we can then make a release of rustup.
27
27
28
28
## Targets we need to build
29
29
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.
80
44
81
45
## Useful notes about how we run builds
82
46
0 commit comments