diff options
| author | Josh Stone <jistone@redhat.com> | 2024-08-20 16:13:55 -0700 |
|---|---|---|
| committer | Josh Stone <jistone@redhat.com> | 2024-09-04 16:47:56 -0700 |
| commit | 960ec52bcfb697e8db2124c20e5477d3de13c165 (patch) | |
| tree | c0e36ac6c36523fd26001aa7e89122c1bdfa1a1d /src | |
| parent | 4ac7bcbaad8d6fd7a51bdf1b696cbc3ba4c796cf (diff) | |
| download | rust-960ec52bcfb697e8db2124c20e5477d3de13c165.tar.gz rust-960ec52bcfb697e8db2124c20e5477d3de13c165.zip | |
ci: add a runner for vanilla LLVM 19
Diffstat (limited to 'src')
| -rw-r--r-- | src/ci/docker/host-x86_64/x86_64-gnu-llvm-19/Dockerfile | 62 | ||||
| -rw-r--r-- | src/ci/github-actions/jobs.yml | 5 |
2 files changed, 67 insertions, 0 deletions
diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-llvm-19/Dockerfile b/src/ci/docker/host-x86_64/x86_64-gnu-llvm-19/Dockerfile new file mode 100644 index 00000000000..44328b078ad --- /dev/null +++ b/src/ci/docker/host-x86_64/x86_64-gnu-llvm-19/Dockerfile @@ -0,0 +1,62 @@ +FROM ubuntu:24.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-19-tools \ + llvm-19-dev \ + libedit-dev \ + libssl-dev \ + pkg-config \ + zlib1g-dev \ + xz-utils \ + nodejs \ + mingw-w64 \ + # libgccjit dependencies + flex \ + libmpfr-dev \ + libgmp-dev \ + libmpc3 \ + libmpc-dev \ + && rm -rf /var/lib/apt/lists/* + +# Install powershell (universal package) so we can test x.ps1 on Linux +# FIXME: need a "universal" version that supports libicu74, but for now it still works to ignore that dep. +RUN curl -sL "https://github.com/PowerShell/PowerShell/releases/download/v7.3.1/powershell_7.3.1-1.deb_amd64.deb" > powershell.deb && \ + dpkg --ignore-depends=libicu72 -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 +ENV EXTERNAL_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-19 \ + --enable-llvm-link-shared \ + --set rust.thin-lto-import-instr-limit=10 + +COPY host-x86_64/dist-x86_64-linux/shared.sh /scripts/ +COPY host-x86_64/dist-x86_64-linux/build-gccjit.sh /scripts/ + +RUN /scripts/build-gccjit.sh /scripts + +COPY scripts/x86_64-gnu-llvm.sh /tmp/script.sh +ENV SCRIPT /tmp/script.sh diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index 4de44c6dd39..c5fde010bc6 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -247,6 +247,11 @@ auto: - image: x86_64-gnu-distcheck <<: *job-linux-8c + - image: x86_64-gnu-llvm-19 + env: + RUST_BACKTRACE: 1 + <<: *job-linux-8c + - image: x86_64-gnu-llvm-18 env: RUST_BACKTRACE: 1 |
