Skip to content

Commit

Permalink
Auto merge of #73650 - pietroalbini:ci-aarch64-gnu, r=Mark-Simulacrum
Browse files Browse the repository at this point in the history
Add Docker image to run AArch64 Linux tests

This PR adds a Docker image to run the AArch64 Linux test suite on a native AArch64 host platform, which will be used in the future to run the test suite in our CI. The image will also be useful for ARM folks to ensure internally that the bugfixes they submit work.

This will be the first Docker image designed to run on a non-x86_64 host platform, and to prevent surprising behavior this PR moves all images requiring a x86_64 host in the `src/ci/docker/host-x86_64` directory. Paths and scripts are changed accordingly, and a helpful error message is added when someone tries to run an image on the wrong architecture:

```
Invalid image: aarch64-gnu
Note: the image exists for the aarch64 host architecture
Note: the current host architecture is x86_64
```

The old emulated and disabled `aarch64-gnu` builder is also removed in this PR.

This PR is best reviewed commit-by-commit.
r? @Mark-Simulacrum
  • Loading branch information
bors committed Jul 3, 2020
2 parents f844ea1 + 775eeb3 commit 9a13ef2
Show file tree
Hide file tree
Showing 120 changed files with 137 additions and 3,251 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,7 @@ jobs:
os: windows-latest-xl
- name: x86_64-msvc-tools
env:
SCRIPT: src/ci/docker/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstate/toolstates.json windows
SCRIPT: src/ci/docker/host-x86_64/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstate/toolstates.json windows
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --save-toolstates=/tmp/toolstate/toolstates.json"
os: windows-latest-xl
- name: i686-mingw-1
Expand Down
2 changes: 1 addition & 1 deletion src/ci/azure-pipelines/auto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ jobs:
NO_LLVM_ASSERTIONS: 1
# MSVC tools tests
x86_64-msvc-tools:
SCRIPT: src/ci/docker/x86_64-gnu-tools/checktools.sh x.py
SCRIPT: src/ci/docker/host-x86_64/x86_64-gnu-tools/checktools.sh x.py
INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --save-toolstates=/tmp/toolstate/toolstates.json

# 32/64-bit MinGW builds.
Expand Down
8 changes: 5 additions & 3 deletions src/ci/docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,11 @@ before running your command.

## Filesystem layout

- Each directory, excluding `scripts` and `disabled`, corresponds to a docker image
- `scripts` contains files shared by docker images
- `disabled` contains images that are not built on CI
- Each host architecture has its own `host-{arch}` directory, and those
directories contain a subdirectory for each Docker image (plus the `disabled`
subdirectory).
- `host-{arch}/disabled` contains images that are not built on CI.
- `scripts` contains files shared by multiple Docker images.

## Docker Toolbox on Windows

Expand Down
79 changes: 0 additions & 79 deletions src/ci/docker/disabled/aarch64-gnu/Dockerfile

This file was deleted.

Loading

0 comments on commit 9a13ef2

Please sign in to comment.