Skip to content

Commit 3e56830

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

File tree

3 files changed

+73
-3
lines changed

3 files changed

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