summaryrefslogtreecommitdiff
path: root/.github/workflows/containers
diff options
context:
space:
mode:
authorBaranov Victor <bar.victor.2002@gmail.com>2025-10-19 22:45:23 +0300
committerGitHub <noreply@github.com>2025-10-19 22:45:23 +0300
commite4c97f0fb9788877412f5fa40fb1b50153dac735 (patch)
treecf258783be5bc7c3ab1f98116d653ae6ddc626d7 /.github/workflows/containers
parentd43ad92e20072d648a61170acf354bc4eb473b3c (diff)
[GitHub][CI] Add missing dependencies to code-lint container (#163873)
Diffstat (limited to '.github/workflows/containers')
-rw-r--r--.github/workflows/containers/github-action-ci-tooling/Dockerfile22
1 files changed, 21 insertions, 1 deletions
diff --git a/.github/workflows/containers/github-action-ci-tooling/Dockerfile b/.github/workflows/containers/github-action-ci-tooling/Dockerfile
index 7d6456287662..9d2aaf6bbd48 100644
--- a/.github/workflows/containers/github-action-ci-tooling/Dockerfile
+++ b/.github/workflows/containers/github-action-ci-tooling/Dockerfile
@@ -1,7 +1,10 @@
ARG LLVM_VERSION=21.1.0
+# FIXME: Use "${LLVM_VERSION%%.*}" instead of "LLVM_VERSION_MAJOR" once we update runners to Ubuntu-26.04 with Buildah >= 1.37
+ARG LLVM_VERSION_MAJOR=21
FROM docker.io/library/ubuntu:24.04 AS llvm-downloader
ARG LLVM_VERSION
+ARG LLVM_VERSION_MAJOR
RUN apt-get update && \
apt-get install -y wget xz-utils && \
@@ -9,6 +12,8 @@ RUN apt-get update && \
mkdir -p /llvm-extract && \
tar -xvJf llvm.tar.xz -C /llvm-extract \
# Only unpack these tools to save space on Github runner.
+ LLVM-${LLVM_VERSION}-Linux-X64/bin/clang-${LLVM_VERSION_MAJOR} \
+ LLVM-${LLVM_VERSION}-Linux-X64/lib/clang/${LLVM_VERSION_MAJOR}/include \
LLVM-${LLVM_VERSION}-Linux-X64/bin/clang-tidy \
LLVM-${LLVM_VERSION}-Linux-X64/bin/clang-format \
LLVM-${LLVM_VERSION}-Linux-X64/bin/git-clang-format && \
@@ -50,12 +55,27 @@ RUN pip install -r requirements_formatting.txt --break-system-packages && \
FROM base AS ci-container-code-lint
ARG LLVM_VERSION
+ARG LLVM_VERSION_MAJOR
-COPY --from=llvm-downloader /llvm-extract/LLVM-${LLVM_VERSION}-Linux-X64/bin/clang-tidy ${LLVM_SYSROOT}/bin/
+COPY --from=llvm-downloader /llvm-extract/LLVM-${LLVM_VERSION}-Linux-X64/bin/clang-tidy \
+ /llvm-extract/LLVM-${LLVM_VERSION}-Linux-X64/bin/clang-${LLVM_VERSION_MAJOR} \
+ ${LLVM_SYSROOT}/bin/
+COPY --from=llvm-downloader /llvm-extract/LLVM-${LLVM_VERSION}-Linux-X64/lib/clang/${LLVM_VERSION_MAJOR}/include \
+ ${LLVM_SYSROOT}/lib/clang/${LLVM_VERSION_MAJOR}/include
COPY clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py ${LLVM_SYSROOT}/bin/clang-tidy-diff.py
+RUN ln -s ${LLVM_SYSROOT}/bin/clang-${LLVM_VERSION_MAJOR} ${LLVM_SYSROOT}/bin/clang && \
+ ln -s ${LLVM_SYSROOT}/bin/clang ${LLVM_SYSROOT}/bin/clang++
+
ENV PATH=${LLVM_SYSROOT}/bin:${PATH}
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y \
+ cmake \
+ ninja-build && \
+ apt-get clean && \
+ rm -rf /var/lib/apt/lists/*
+
# Install dependencies for 'pr-code-lint.yml' job
COPY llvm/utils/git/requirements_linting.txt requirements_linting.txt
RUN pip install -r requirements_linting.txt --break-system-packages && \