mirror of
https://github.com/rust-lang/rust
synced 2024-09-05 16:57:03 +00:00
Auto merge of #116950 - cuviper:ci-llvm-17, r=Mark-Simulacrum
ci: add a runner for vanilla LLVM 17 For CI cost, this can be seen as replacing the llvm-14 runner we dropped in #114148. Also, I've set `IS_NOT_LATEST_LLVM` in the llvm-16 runner, since that's not the latest anymore.
This commit is contained in:
commit
3932c87718
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
|
@ -286,6 +286,10 @@ jobs:
|
||||||
- name: x86_64-gnu-distcheck
|
- name: x86_64-gnu-distcheck
|
||||||
os: ubuntu-20.04-8core-32gb
|
os: ubuntu-20.04-8core-32gb
|
||||||
env: {}
|
env: {}
|
||||||
|
- name: x86_64-gnu-llvm-17
|
||||||
|
env:
|
||||||
|
RUST_BACKTRACE: 1
|
||||||
|
os: ubuntu-20.04-8core-32gb
|
||||||
- name: x86_64-gnu-llvm-16
|
- name: x86_64-gnu-llvm-16
|
||||||
env:
|
env:
|
||||||
RUST_BACKTRACE: 1
|
RUST_BACKTRACE: 1
|
||||||
|
|
|
@ -38,6 +38,10 @@ RUN sh /scripts/sccache.sh
|
||||||
# LLVM, rather than the typical src/llvm-project LLVM.
|
# LLVM, rather than the typical src/llvm-project LLVM.
|
||||||
ENV NO_DOWNLOAD_CI_LLVM 1
|
ENV NO_DOWNLOAD_CI_LLVM 1
|
||||||
|
|
||||||
|
# This is not the latest LLVM version, so some components required by tests may
|
||||||
|
# be missing.
|
||||||
|
ENV IS_NOT_LATEST_LLVM 1
|
||||||
|
|
||||||
# Using llvm-link-shared due to libffi issues -- see #34486
|
# Using llvm-link-shared due to libffi issues -- see #34486
|
||||||
ENV RUST_CONFIGURE_ARGS \
|
ENV RUST_CONFIGURE_ARGS \
|
||||||
--build=x86_64-unknown-linux-gnu \
|
--build=x86_64-unknown-linux-gnu \
|
||||||
|
|
50
src/ci/docker/host-x86_64/x86_64-gnu-llvm-17/Dockerfile
Normal file
50
src/ci/docker/host-x86_64/x86_64-gnu-llvm-17/Dockerfile
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
FROM ubuntu:23.10
|
||||||
|
|
||||||
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
g++ \
|
||||||
|
gcc-multilib \
|
||||||
|
make \
|
||||||
|
ninja-build \
|
||||||
|
file \
|
||||||
|
curl \
|
||||||
|
ca-certificates \
|
||||||
|
python3 \
|
||||||
|
git \
|
||||||
|
cmake \
|
||||||
|
sudo \
|
||||||
|
gdb \
|
||||||
|
llvm-17-tools \
|
||||||
|
llvm-17-dev \
|
||||||
|
libedit-dev \
|
||||||
|
libssl-dev \
|
||||||
|
pkg-config \
|
||||||
|
zlib1g-dev \
|
||||||
|
xz-utils \
|
||||||
|
nodejs \
|
||||||
|
mingw-w64 \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# Install powershell (universal package) so we can test x.ps1 on Linux
|
||||||
|
RUN curl -sL "https://github.com/PowerShell/PowerShell/releases/download/v7.3.1/powershell_7.3.1-1.deb_amd64.deb" > powershell.deb && \
|
||||||
|
dpkg -i powershell.deb && \
|
||||||
|
rm -f powershell.deb
|
||||||
|
|
||||||
|
COPY scripts/sccache.sh /scripts/
|
||||||
|
RUN sh /scripts/sccache.sh
|
||||||
|
|
||||||
|
# We are disabling CI LLVM since this builder is intentionally using a host
|
||||||
|
# LLVM, rather than the typical src/llvm-project LLVM.
|
||||||
|
ENV NO_DOWNLOAD_CI_LLVM 1
|
||||||
|
|
||||||
|
# Using llvm-link-shared due to libffi issues -- see #34486
|
||||||
|
ENV RUST_CONFIGURE_ARGS \
|
||||||
|
--build=x86_64-unknown-linux-gnu \
|
||||||
|
--llvm-root=/usr/lib/llvm-17 \
|
||||||
|
--enable-llvm-link-shared \
|
||||||
|
--set rust.thin-lto-import-instr-limit=10
|
||||||
|
|
||||||
|
COPY host-x86_64/x86_64-gnu-llvm-15/script.sh /tmp/
|
||||||
|
|
||||||
|
ENV SCRIPT /tmp/script.sh
|
|
@ -463,6 +463,11 @@ jobs:
|
||||||
- name: x86_64-gnu-distcheck
|
- name: x86_64-gnu-distcheck
|
||||||
<<: *job-linux-8c
|
<<: *job-linux-8c
|
||||||
|
|
||||||
|
- name: x86_64-gnu-llvm-17
|
||||||
|
env:
|
||||||
|
RUST_BACKTRACE: 1
|
||||||
|
<<: *job-linux-8c
|
||||||
|
|
||||||
- name: x86_64-gnu-llvm-16
|
- name: x86_64-gnu-llvm-16
|
||||||
env:
|
env:
|
||||||
RUST_BACKTRACE: 1
|
RUST_BACKTRACE: 1
|
||||||
|
|
Loading…
Reference in a new issue