[llvm] [GitHub][CI] Add missing dependencies to code-lint container (PR #163873)
Baranov Victor via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 17 13:51:12 PDT 2025
https://github.com/vbvictor updated https://github.com/llvm/llvm-project/pull/163873
>From bfd76b3ef1833dae4c3fddc152c5fdab8d0acef1 Mon Sep 17 00:00:00 2001
From: Victor Baranov <bar.victor.2002 at gmail.com>
Date: Fri, 17 Oct 2025 00:48:06 +0300
Subject: [PATCH 1/4] [GitHub][CI] Add missing dependencies to code-lint
container
---
.../github-action-ci-tooling/Dockerfile | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/containers/github-action-ci-tooling/Dockerfile b/.github/workflows/containers/github-action-ci-tooling/Dockerfile
index 7d64562876628..5e13455d70123 100644
--- a/.github/workflows/containers/github-action-ci-tooling/Dockerfile
+++ b/.github/workflows/containers/github-action-ci-tooling/Dockerfile
@@ -9,6 +9,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%%.*} \
+ LLVM-${LLVM_VERSION}-Linux-X64/lib/clang/${LLVM_VERSION%%.*}/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 && \
@@ -51,11 +53,26 @@ RUN pip install -r requirements_formatting.txt --break-system-packages && \
FROM base AS ci-container-code-lint
ARG LLVM_VERSION
-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%%.*} \
+ ${LLVM_SYSROOT}/bin/
+COPY --from=llvm-downloader /llvm-extract/LLVM-${LLVM_VERSION}-Linux-X64/lib/clang/${LLVM_VERSION%%.*}/include \
+ ${LLVM_SYSROOT}/lib/clang/${LLVM_VERSION%%.*}/include
COPY clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py ${LLVM_SYSROOT}/bin/clang-tidy-diff.py
+# Make symlinks as in LLVM tar.xz package
+RUN ln -s ${LLVM_SYSROOT}/bin/clang-${LLVM_VERSION%%.*} ${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 && \
>From 9b370b6fa7c3efb6bdd95a3c493ab6d717bf6ccd Mon Sep 17 00:00:00 2001
From: Victor Baranov <bar.victor.2002 at gmail.com>
Date: Fri, 17 Oct 2025 01:24:57 +0300
Subject: [PATCH 2/4] fix podman build error
---
.../github-action-ci-tooling/Dockerfile | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/containers/github-action-ci-tooling/Dockerfile b/.github/workflows/containers/github-action-ci-tooling/Dockerfile
index 5e13455d70123..eb66f22ece36c 100644
--- a/.github/workflows/containers/github-action-ci-tooling/Dockerfile
+++ b/.github/workflows/containers/github-action-ci-tooling/Dockerfile
@@ -1,7 +1,9 @@
ARG LLVM_VERSION=21.1.0
+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,8 +11,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%%.*} \
- LLVM-${LLVM_VERSION}-Linux-X64/lib/clang/${LLVM_VERSION%%.*}/include \
+ 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 && \
@@ -52,16 +54,16 @@ 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-extract/LLVM-${LLVM_VERSION}-Linux-X64/bin/clang-${LLVM_VERSION%%.*} \
+ /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%%.*}/include \
- ${LLVM_SYSROOT}/lib/clang/${LLVM_VERSION%%.*}/include
+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
-# Make symlinks as in LLVM tar.xz package
-RUN ln -s ${LLVM_SYSROOT}/bin/clang-${LLVM_VERSION%%.*} ${LLVM_SYSROOT}/bin/clang && \
+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}
>From fca9fc35a6becec9458ebb1e6d3f761964014ff2 Mon Sep 17 00:00:00 2001
From: Victor Baranov <bar.victor.2002 at gmail.com>
Date: Fri, 17 Oct 2025 23:36:50 +0300
Subject: [PATCH 3/4] add syntax directive
---
.../github-action-ci-tooling/Dockerfile | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/.github/workflows/containers/github-action-ci-tooling/Dockerfile b/.github/workflows/containers/github-action-ci-tooling/Dockerfile
index eb66f22ece36c..e94349545c767 100644
--- a/.github/workflows/containers/github-action-ci-tooling/Dockerfile
+++ b/.github/workflows/containers/github-action-ci-tooling/Dockerfile
@@ -1,9 +1,8 @@
+# syntax=docker/dockerfile:1.7
ARG LLVM_VERSION=21.1.0
-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 && \
@@ -11,8 +10,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-${LLVM_VERSION%%.*} \
+ LLVM-${LLVM_VERSION}-Linux-X64/lib/clang/${LLVM_VERSION%%.*}/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 && \
@@ -54,16 +53,15 @@ 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-extract/LLVM-${LLVM_VERSION}-Linux-X64/bin/clang-${LLVM_VERSION_MAJOR} \
+ /llvm-extract/LLVM-${LLVM_VERSION}-Linux-X64/bin/clang-${LLVM_VERSION%%.*} \
${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 --from=llvm-downloader /llvm-extract/LLVM-${LLVM_VERSION}-Linux-X64/lib/clang/${LLVM_VERSION%%.*}/include \
+ ${LLVM_SYSROOT}/lib/clang/${LLVM_VERSION%%.*}/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 && \
+RUN ln -s ${LLVM_SYSROOT}/bin/clang-${LLVM_VERSION%%.*} ${LLVM_SYSROOT}/bin/clang && \
ln -s ${LLVM_SYSROOT}/bin/clang ${LLVM_SYSROOT}/bin/clang++
ENV PATH=${LLVM_SYSROOT}/bin:${PATH}
>From 0a4cb8f17b7461f298872edb72495b136ad94e3f Mon Sep 17 00:00:00 2001
From: Victor Baranov <bar.victor.2002 at gmail.com>
Date: Fri, 17 Oct 2025 23:50:54 +0300
Subject: [PATCH 4/4] add docker format
---
.github/workflows/build-ci-container-tooling.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/build-ci-container-tooling.yml b/.github/workflows/build-ci-container-tooling.yml
index c77c78617666d..e6d6b8fa2d0c6 100644
--- a/.github/workflows/build-ci-container-tooling.yml
+++ b/.github/workflows/build-ci-container-tooling.yml
@@ -47,10 +47,10 @@ jobs:
- name: Build container
run: |
- podman build --target ci-container-code-format \
+ podman build --format docker --target ci-container-code-format \
-f .github/workflows/containers/github-action-ci-tooling/Dockerfile \
-t ${{ steps.vars.outputs.container-name-format-tag }} .
- podman build --target ci-container-code-lint \
+ podman build --format docker --target ci-container-code-lint \
-f .github/workflows/containers/github-action-ci-tooling/Dockerfile \
-t ${{ steps.vars.outputs.container-name-lint-tag }} .
More information about the llvm-commits
mailing list