Skip to content

Commit 0a1f5f4

Browse files
authored
Unrolled build for rust-lang#122178
Rollup merge of rust-lang#122178 - cuviper:ci-llvm-18, r=Kobzol ci: add a runner for vanilla LLVM 18 For CI cost, this can be seen as replacing the llvm-15 runner we dropped in rust-lang#117947. Also, I've set `IS_NOT_LATEST_LLVM` in the llvm-17 runner, since that's not the latest anymore.
2 parents b054da8 + bef1cd8 commit 0a1f5f4

File tree

4 files changed

+68
-0
lines changed

4 files changed

+68
-0
lines changed

.github/workflows/ci.yml

+4
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,10 @@ jobs:
315315
- name: x86_64-gnu-distcheck
316316
os: ubuntu-20.04-8core-32gb
317317
env: {}
318+
- name: x86_64-gnu-llvm-18
319+
env:
320+
RUST_BACKTRACE: 1
321+
os: ubuntu-20.04-8core-32gb
318322
- name: x86_64-gnu-llvm-17
319323
env:
320324
RUST_BACKTRACE: 1

src/ci/docker/host-x86_64/x86_64-gnu-llvm-17/Dockerfile

+4
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ RUN sh /scripts/sccache.sh
4242
ENV NO_DOWNLOAD_CI_LLVM 1
4343
ENV EXTERNAL_LLVM 1
4444

45+
# This is not the latest LLVM version, so some components required by tests may
46+
# be missing.
47+
ENV IS_NOT_LATEST_LLVM 1
48+
4549
# Using llvm-link-shared due to libffi issues -- see #34486
4650
ENV RUST_CONFIGURE_ARGS \
4751
--build=x86_64-unknown-linux-gnu \
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
FROM ubuntu:24.04
2+
3+
ARG DEBIAN_FRONTEND=noninteractive
4+
5+
RUN apt-get update && apt-get install -y --no-install-recommends \
6+
g++ \
7+
gcc-multilib \
8+
make \
9+
ninja-build \
10+
file \
11+
curl \
12+
ca-certificates \
13+
python3 \
14+
git \
15+
cmake \
16+
sudo \
17+
gdb \
18+
llvm-18-tools \
19+
llvm-18-dev \
20+
libedit-dev \
21+
libssl-dev \
22+
pkg-config \
23+
zlib1g-dev \
24+
xz-utils \
25+
nodejs \
26+
mingw-w64 \
27+
libgccjit-13-dev \
28+
&& rm -rf /var/lib/apt/lists/*
29+
30+
# Note: libgccjit needs to match the default gcc version for the linker to find it.
31+
32+
# Install powershell (universal package) so we can test x.ps1 on Linux
33+
# FIXME: need a "universal" version that supports libicu74, but for now it still works to ignore that dep.
34+
RUN curl -sL "https://github.com/PowerShell/PowerShell/releases/download/v7.3.1/powershell_7.3.1-1.deb_amd64.deb" > powershell.deb && \
35+
dpkg --ignore-depends=libicu72 -i powershell.deb && \
36+
rm -f powershell.deb
37+
38+
COPY scripts/sccache.sh /scripts/
39+
RUN sh /scripts/sccache.sh
40+
41+
# We are disabling CI LLVM since this builder is intentionally using a host
42+
# LLVM, rather than the typical src/llvm-project LLVM.
43+
ENV NO_DOWNLOAD_CI_LLVM 1
44+
ENV EXTERNAL_LLVM 1
45+
46+
# Using llvm-link-shared due to libffi issues -- see #34486
47+
ENV RUST_CONFIGURE_ARGS \
48+
--build=x86_64-unknown-linux-gnu \
49+
--llvm-root=/usr/lib/llvm-18 \
50+
--enable-llvm-link-shared \
51+
--set rust.thin-lto-import-instr-limit=10
52+
53+
COPY host-x86_64/x86_64-gnu-llvm-16/script.sh /tmp/
54+
55+
ENV SCRIPT /tmp/script.sh

src/ci/github-actions/ci.yml

+5
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,11 @@ jobs:
510510
- name: x86_64-gnu-distcheck
511511
<<: *job-linux-8c
512512

513+
- name: x86_64-gnu-llvm-18
514+
env:
515+
RUST_BACKTRACE: 1
516+
<<: *job-linux-8c
517+
513518
- name: x86_64-gnu-llvm-17
514519
env:
515520
RUST_BACKTRACE: 1

0 commit comments

Comments
 (0)