mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-07 20:43:03 +00:00
Rollup merge of #78228 - pietroalbini:finally, r=Mark-Simulacrum
Promote aarch64-unknown-linux-gnu to Tier 1 This PR promotes the `aarch64-unknown-linux-gnu` target to Tier 1, as proposed by [RFC 2959]: * The `aarch64-gnu` CI job is moved from `auto-fallible` to `auto`. * The platform support documentation is updated, uplifting the target to Tiert 1 with a note about missing stack probes support. * Building the documentation is enabled for the target, as we produce the `rust-docs` component for all Tier 1 platforms. [RFC 2959]: https://github.com/rust-lang/rfcs/pull/2959
This commit is contained in:
commit
50086afb5d
115
.github/workflows/ci.yml
vendored
115
.github/workflows/ci.yml
vendored
@ -154,6 +154,11 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
|
- name: aarch64-gnu
|
||||||
|
os:
|
||||||
|
- self-hosted
|
||||||
|
- ARM64
|
||||||
|
- linux
|
||||||
- name: arm-android
|
- name: arm-android
|
||||||
os: ubuntu-latest-xl
|
os: ubuntu-latest-xl
|
||||||
env: {}
|
env: {}
|
||||||
@ -497,116 +502,6 @@ jobs:
|
|||||||
AWS_ACCESS_KEY_ID: "${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}"
|
AWS_ACCESS_KEY_ID: "${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}"
|
||||||
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}"
|
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}"
|
||||||
if: "success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')"
|
if: "success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')"
|
||||||
auto-fallible:
|
|
||||||
name: auto-fallible
|
|
||||||
env:
|
|
||||||
CI_JOB_NAME: "${{ matrix.name }}"
|
|
||||||
SCCACHE_BUCKET: rust-lang-gha-caches
|
|
||||||
DEPLOY_BUCKET: rust-lang-gha
|
|
||||||
TOOLSTATE_REPO: "https://github.com/pietroalbini/rust-toolstate"
|
|
||||||
TOOLSTATE_ISSUES_API_URL: "https://api.github.com/repos/pietroalbini/rust-toolstate/issues"
|
|
||||||
TOOLSTATE_PUBLISH: 1
|
|
||||||
CACHES_AWS_ACCESS_KEY_ID: AKIA46X5W6CZOMUQATD5
|
|
||||||
ARTIFACTS_AWS_ACCESS_KEY_ID: AKIA46X5W6CZH5AYXDVF
|
|
||||||
CACHE_DOMAIN: ci-caches-gha.rust-lang.org
|
|
||||||
if: "github.event_name == 'push' && github.ref == 'refs/heads/auto' && github.repository == 'rust-lang-ci/rust'"
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- name: aarch64-gnu
|
|
||||||
os:
|
|
||||||
- self-hosted
|
|
||||||
- ARM64
|
|
||||||
- linux
|
|
||||||
timeout-minutes: 600
|
|
||||||
runs-on: "${{ matrix.os }}"
|
|
||||||
steps:
|
|
||||||
- name: disable git crlf conversion
|
|
||||||
run: git config --global core.autocrlf false
|
|
||||||
- name: checkout the source code
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 2
|
|
||||||
- name: configure the PR in which the error message will be posted
|
|
||||||
run: "echo \"[CI_PR_NUMBER=$num]\""
|
|
||||||
env:
|
|
||||||
num: "${{ github.event.number }}"
|
|
||||||
if: "success() && !env.SKIP_JOBS && github.event_name == 'pull_request'"
|
|
||||||
- name: add extra environment variables
|
|
||||||
run: src/ci/scripts/setup-environment.sh
|
|
||||||
env:
|
|
||||||
EXTRA_VARIABLES: "${{ toJson(matrix.env) }}"
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: decide whether to skip this job
|
|
||||||
run: src/ci/scripts/should-skip-this.sh
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: configure GitHub Actions to kill the build when outdated
|
|
||||||
uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
|
|
||||||
with:
|
|
||||||
github_token: "${{ secrets.github_token }}"
|
|
||||||
if: "success() && !env.SKIP_JOB && github.ref != 'refs/heads/try'"
|
|
||||||
- name: collect CPU statistics
|
|
||||||
run: src/ci/scripts/collect-cpu-stats.sh
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: show the current environment
|
|
||||||
run: src/ci/scripts/dump-environment.sh
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: install awscli
|
|
||||||
run: src/ci/scripts/install-awscli.sh
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: install sccache
|
|
||||||
run: src/ci/scripts/install-sccache.sh
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: select Xcode
|
|
||||||
run: src/ci/scripts/select-xcode.sh
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: install clang
|
|
||||||
run: src/ci/scripts/install-clang.sh
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: install WIX
|
|
||||||
run: src/ci/scripts/install-wix.sh
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: ensure the build happens on a partition with enough space
|
|
||||||
run: src/ci/scripts/symlink-build-dir.sh
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: disable git crlf conversion
|
|
||||||
run: src/ci/scripts/disable-git-crlf-conversion.sh
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: install MSYS2
|
|
||||||
run: src/ci/scripts/install-msys2.sh
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: install MinGW
|
|
||||||
run: src/ci/scripts/install-mingw.sh
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: install ninja
|
|
||||||
run: src/ci/scripts/install-ninja.sh
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: enable ipv6 on Docker
|
|
||||||
run: src/ci/scripts/enable-docker-ipv6.sh
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: disable git crlf conversion
|
|
||||||
run: src/ci/scripts/disable-git-crlf-conversion.sh
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: checkout submodules
|
|
||||||
run: src/ci/scripts/checkout-submodules.sh
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: ensure line endings are correct
|
|
||||||
run: src/ci/scripts/verify-line-endings.sh
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: run the build
|
|
||||||
run: src/ci/scripts/run-build-from-ci.sh
|
|
||||||
env:
|
|
||||||
AWS_ACCESS_KEY_ID: "${{ env.CACHES_AWS_ACCESS_KEY_ID }}"
|
|
||||||
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
|
|
||||||
TOOLSTATE_REPO_ACCESS_TOKEN: "${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}"
|
|
||||||
if: success() && !env.SKIP_JOB
|
|
||||||
- name: upload artifacts to S3
|
|
||||||
run: src/ci/scripts/upload-artifacts.sh
|
|
||||||
env:
|
|
||||||
AWS_ACCESS_KEY_ID: "${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}"
|
|
||||||
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}"
|
|
||||||
if: "success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')"
|
|
||||||
try:
|
try:
|
||||||
name: try
|
name: try
|
||||||
env:
|
env:
|
||||||
|
@ -35,6 +35,5 @@ ENV HOSTS=aarch64-unknown-linux-gnu
|
|||||||
ENV RUST_CONFIGURE_ARGS \
|
ENV RUST_CONFIGURE_ARGS \
|
||||||
--enable-full-tools \
|
--enable-full-tools \
|
||||||
--enable-profiler \
|
--enable-profiler \
|
||||||
--enable-sanitizers \
|
--enable-sanitizers
|
||||||
--disable-docs
|
|
||||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||||
|
@ -301,6 +301,9 @@ jobs:
|
|||||||
# Linux/Docker builders #
|
# Linux/Docker builders #
|
||||||
#############################
|
#############################
|
||||||
|
|
||||||
|
- name: aarch64-gnu
|
||||||
|
<<: *job-aarch64-linux
|
||||||
|
|
||||||
- name: arm-android
|
- name: arm-android
|
||||||
<<: *job-linux-xl
|
<<: *job-linux-xl
|
||||||
|
|
||||||
@ -635,23 +638,6 @@ jobs:
|
|||||||
SCRIPT: python x.py dist
|
SCRIPT: python x.py dist
|
||||||
<<: *job-windows-xl
|
<<: *job-windows-xl
|
||||||
|
|
||||||
auto-fallible:
|
|
||||||
<<: *base-ci-job
|
|
||||||
name: auto-fallible
|
|
||||||
env:
|
|
||||||
<<: [*shared-ci-variables, *dummy-variables]
|
|
||||||
if: github.event_name == 'push' && github.ref == 'refs/heads/auto' && github.repository == 'rust-lang-ci/rust'
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
#############################
|
|
||||||
# Linux/Docker builders #
|
|
||||||
#############################
|
|
||||||
|
|
||||||
- name: aarch64-gnu
|
|
||||||
<<: *job-aarch64-linux
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
<<: *base-ci-job
|
<<: *base-ci-job
|
||||||
name: try
|
name: try
|
||||||
|
@ -34,6 +34,7 @@ Specifically they will each satisfy the following requirements:
|
|||||||
|
|
||||||
target | std | host | notes
|
target | std | host | notes
|
||||||
-------|-----|------|-------
|
-------|-----|------|-------
|
||||||
|
`aarch64-unknown-linux-gnu` | ✓ | ✓ | ARM64 Linux (kernel 4.2, glibc 2.17+) [^missing-stack-probes]
|
||||||
`i686-pc-windows-gnu` | ✓ | ✓ | 32-bit MinGW (Windows 7+)
|
`i686-pc-windows-gnu` | ✓ | ✓ | 32-bit MinGW (Windows 7+)
|
||||||
`i686-pc-windows-msvc` | ✓ | ✓ | 32-bit MSVC (Windows 7+)
|
`i686-pc-windows-msvc` | ✓ | ✓ | 32-bit MSVC (Windows 7+)
|
||||||
`i686-unknown-linux-gnu` | ✓ | ✓ | 32-bit Linux (kernel 2.6.32+, glibc 2.11+)
|
`i686-unknown-linux-gnu` | ✓ | ✓ | 32-bit Linux (kernel 2.6.32+, glibc 2.11+)
|
||||||
@ -42,6 +43,12 @@ target | std | host | notes
|
|||||||
`x86_64-pc-windows-msvc` | ✓ | ✓ | 64-bit MSVC (Windows 7+)
|
`x86_64-pc-windows-msvc` | ✓ | ✓ | 64-bit MSVC (Windows 7+)
|
||||||
`x86_64-unknown-linux-gnu` | ✓ | ✓ | 64-bit Linux (kernel 2.6.32+, glibc 2.11+)
|
`x86_64-unknown-linux-gnu` | ✓ | ✓ | 64-bit Linux (kernel 2.6.32+, glibc 2.11+)
|
||||||
|
|
||||||
|
[^missing-stack-probes]: Stack probes support is missing on
|
||||||
|
`aarch64-unknown-linux-gnu`, but it's planned to be implemented in the near
|
||||||
|
future. The implementation is tracked on [issue #77071][77071].
|
||||||
|
|
||||||
|
[77071]: https://github.com/rust-lang/rust/issues/77071
|
||||||
|
|
||||||
## Tier 2
|
## Tier 2
|
||||||
|
|
||||||
Tier 2 platforms can be thought of as "guaranteed to build". Automated tests
|
Tier 2 platforms can be thought of as "guaranteed to build". Automated tests
|
||||||
@ -62,7 +69,6 @@ target | std | host | notes
|
|||||||
`aarch64-fuchsia` | ✓ | | ARM64 Fuchsia
|
`aarch64-fuchsia` | ✓ | | ARM64 Fuchsia
|
||||||
`aarch64-linux-android` | ✓ | | ARM64 Android
|
`aarch64-linux-android` | ✓ | | ARM64 Android
|
||||||
`aarch64-pc-windows-msvc` | ✓ | ✓ | ARM64 Windows MSVC
|
`aarch64-pc-windows-msvc` | ✓ | ✓ | ARM64 Windows MSVC
|
||||||
`aarch64-unknown-linux-gnu` | ✓ | ✓ | ARM64 Linux (kernel 4.2, glibc 2.17)
|
|
||||||
`aarch64-unknown-linux-musl` | ✓ | ✓ | ARM64 Linux with MUSL
|
`aarch64-unknown-linux-musl` | ✓ | ✓ | ARM64 Linux with MUSL
|
||||||
`aarch64-unknown-none` | * | | Bare ARM64, hardfloat
|
`aarch64-unknown-none` | * | | Bare ARM64, hardfloat
|
||||||
`aarch64-unknown-none-softfloat` | * | | Bare ARM64, softfloat
|
`aarch64-unknown-none-softfloat` | * | | Bare ARM64, softfloat
|
||||||
|
@ -155,6 +155,7 @@ static TARGETS: &[&str] = &[
|
|||||||
];
|
];
|
||||||
|
|
||||||
static DOCS_TARGETS: &[&str] = &[
|
static DOCS_TARGETS: &[&str] = &[
|
||||||
|
"aarch64-unknown-linux-gnu",
|
||||||
"i686-apple-darwin",
|
"i686-apple-darwin",
|
||||||
"i686-pc-windows-gnu",
|
"i686-pc-windows-gnu",
|
||||||
"i686-pc-windows-msvc",
|
"i686-pc-windows-msvc",
|
||||||
|
Loading…
Reference in New Issue
Block a user