Skip to content

Commit d2bde10

Browse files
committed
ci: move tests from x86_64-gnu-llvm-19 job to aarch64
1 parent 95a2212 commit d2bde10

File tree

3 files changed

+74
-3
lines changed

3 files changed

+74
-3
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
FROM ubuntu:24.10
2+
3+
ARG DEBIAN_FRONTEND=noninteractive
4+
5+
RUN apt-get update && apt-get install -y --no-install-recommends \
6+
bzip2 \
7+
g++ \
8+
gcc-multilib \
9+
make \
10+
ninja-build \
11+
file \
12+
curl \
13+
ca-certificates \
14+
python3 \
15+
git \
16+
cmake \
17+
sudo \
18+
gdb \
19+
llvm-19-tools \
20+
llvm-19-dev \
21+
libedit-dev \
22+
libssl-dev \
23+
pkg-config \
24+
zlib1g-dev \
25+
xz-utils \
26+
nodejs \
27+
mingw-w64 \
28+
# libgccjit dependencies
29+
flex \
30+
libmpfr-dev \
31+
libgmp-dev \
32+
libmpc3 \
33+
libmpc-dev \
34+
&& rm -rf /var/lib/apt/lists/*
35+
36+
COPY scripts/sccache.sh /scripts/
37+
RUN sh /scripts/sccache.sh
38+
39+
# We are disabling CI LLVM since this builder is intentionally using a host
40+
# LLVM, rather than the typical src/llvm-project LLVM.
41+
ENV NO_DOWNLOAD_CI_LLVM 1
42+
ENV EXTERNAL_LLVM 1
43+
44+
# Using llvm-link-shared due to libffi issues -- see #34486
45+
ENV RUST_CONFIGURE_ARGS \
46+
--build=aarch64-unknown-linux-gnu \
47+
--llvm-root=/usr/lib/llvm-19 \
48+
--enable-llvm-link-shared \
49+
--set rust.randomize-layout=true \
50+
--set rust.thin-lto-import-instr-limit=10
51+
52+
COPY scripts/shared.sh /scripts/
53+
54+
ARG SCRIPT_ARG
55+
56+
COPY scripts/stage_2_test_set1.sh /tmp/
57+
COPY scripts/stage_2_test_set2.sh /tmp/
58+
59+
ENV SCRIPT "/tmp/${SCRIPT_ARG}"

src/ci/docker/scripts/x86_64-gnu-llvm.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
set -ex
44

5-
# NOTE: intentionally uses all of `x.py`, `x`, and `x.ps1` to make sure they all work on Linux.
6-
../x.py --stage 2 test --skip src/tools/tidy
5+
# NOTE: intentionally uses `x`, and `x.ps1` to make sure they work on Linux.
6+
# Make sure that `x.py` is tested elsewhere.
77

88
# Run the `mir-opt` tests again but this time for a 32-bit target.
99
# This enforces that tests using `// EMIT_MIR_FOR_EACH_BIT_WIDTH` have

src/ci/github-actions/jobs.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,19 @@ pr:
121121
env:
122122
ENABLE_GCC_CODEGEN: "1"
123123
DOCKER_SCRIPT: x86_64-gnu-llvm.sh
124-
<<: *job-linux-16c
124+
<<: *job-linux-8c
125+
- name: aarch64-gnu-llvm-19-1
126+
env:
127+
IMAGE: aarch64-gnu-llvm-19
128+
ENABLE_GCC_CODEGEN: "1"
129+
DOCKER_SCRIPT: stage_2_test_set1.sh
130+
<<: *job-aarch64-linux
131+
- name: aarch64-gnu-llvm-19-2
132+
env:
133+
IMAGE: aarch64-gnu-llvm-19
134+
ENABLE_GCC_CODEGEN: "1"
135+
DOCKER_SCRIPT: stage_2_test_set2.sh
136+
<<: *job-aarch64-linux
125137
- name: x86_64-gnu-tools
126138
<<: *job-linux-36c-codebuild
127139

0 commit comments

Comments
 (0)