Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 6a79fd1

Browse files
committedMar 13, 2025
Auto merge of #138380 - cuviper:ci-llvm-20, r=<try>
ci: add runners for vanilla LLVM 20 Ubuntu 25.04 has `llvm-20` packages that we can start testing with. The `Dockerfile` is otherwise the same as the `llvm-18`/`19` runners. try-job: x86_64-gnu-llvm-20-1 try-job: x86_64-gnu-llvm-20-2 try-job: x86_64-gnu-llvm-20-3
2 parents 52daa7d + dba6a80 commit 6a79fd1

File tree

3 files changed

+95
-0
lines changed

3 files changed

+95
-0
lines changed
 

‎src/ci/docker/host-x86_64/x86_64-gnu-llvm-19/Dockerfile

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ FROM ubuntu:24.10
33
ARG DEBIAN_FRONTEND=noninteractive
44

55
RUN apt-get update && apt-get install -y --no-install-recommends \
6+
bzip2 \
67
g++ \
78
gcc-multilib \
89
make \
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
FROM debian:experimental
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-20-tools \
20+
llvm-20-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+
# Install powershell (universal package) so we can test x.ps1 on Linux
37+
# FIXME: need a "universal" version that supports libicu74, but for now it still works to ignore that dep.
38+
RUN curl -sL "https://github.com/PowerShell/PowerShell/releases/download/v7.3.1/powershell_7.3.1-1.deb_amd64.deb" > powershell.deb && \
39+
dpkg --ignore-depends=libicu72 -i powershell.deb && \
40+
rm -f powershell.deb
41+
42+
COPY scripts/sccache.sh /scripts/
43+
RUN sh /scripts/sccache.sh
44+
45+
# We are disabling CI LLVM since this builder is intentionally using a host
46+
# LLVM, rather than the typical src/llvm-project LLVM.
47+
ENV NO_DOWNLOAD_CI_LLVM 1
48+
ENV EXTERNAL_LLVM 1
49+
50+
# Using llvm-link-shared due to libffi issues -- see #34486
51+
ENV RUST_CONFIGURE_ARGS \
52+
--build=x86_64-unknown-linux-gnu \
53+
--llvm-root=/usr/lib/llvm-20 \
54+
--enable-llvm-link-shared \
55+
--set rust.randomize-layout=true \
56+
--set rust.thin-lto-import-instr-limit=10
57+
58+
COPY scripts/shared.sh /scripts/
59+
60+
ARG SCRIPT_ARG
61+
62+
COPY scripts/add_dummy_commit.sh /tmp/
63+
COPY scripts/x86_64-gnu-llvm.sh /tmp/
64+
COPY scripts/x86_64-gnu-llvm2.sh /tmp/
65+
COPY scripts/x86_64-gnu-llvm3.sh /tmp/
66+
COPY scripts/stage_2_test_set1.sh /tmp/
67+
COPY scripts/stage_2_test_set2.sh /tmp/
68+
69+
ENV SCRIPT "/tmp/add_dummy_commit.sh && /tmp/${SCRIPT_ARG}"

‎src/ci/github-actions/jobs.yml

+25
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,31 @@ auto:
301301
- name: x86_64-gnu-distcheck
302302
<<: *job-linux-8c
303303

304+
# The x86_64-gnu-llvm-20 job is split into multiple jobs to run tests in parallel.
305+
# x86_64-gnu-llvm-20-1 skips tests that run in x86_64-gnu-llvm-20-{2,3}.
306+
- name: x86_64-gnu-llvm-20-1
307+
env:
308+
RUST_BACKTRACE: 1
309+
IMAGE: x86_64-gnu-llvm-20
310+
DOCKER_SCRIPT: stage_2_test_set1.sh
311+
<<: *job-linux-4c
312+
313+
# Skip tests that run in x86_64-gnu-llvm-20-{1,3}
314+
- name: x86_64-gnu-llvm-20-2
315+
env:
316+
RUST_BACKTRACE: 1
317+
IMAGE: x86_64-gnu-llvm-20
318+
DOCKER_SCRIPT: x86_64-gnu-llvm2.sh
319+
<<: *job-linux-4c
320+
321+
# Skip tests that run in x86_64-gnu-llvm-20-{1,2}
322+
- name: x86_64-gnu-llvm-20-3
323+
env:
324+
RUST_BACKTRACE: 1
325+
IMAGE: x86_64-gnu-llvm-20
326+
DOCKER_SCRIPT: x86_64-gnu-llvm3.sh
327+
<<: *job-linux-4c
328+
304329
# The x86_64-gnu-llvm-19 job is split into multiple jobs to run tests in parallel.
305330
# x86_64-gnu-llvm-19-1 skips tests that run in x86_64-gnu-llvm-19-{2,3}.
306331
- name: x86_64-gnu-llvm-19-1

0 commit comments

Comments
 (0)
Failed to load comments.