[llvm] [Github][CI] Add separate container for code-format premerge job (PR #161083)

Baranov Victor via llvm-commits llvm-commits at lists.llvm.org
Sun Oct 5 07:07:28 PDT 2025


================
@@ -0,0 +1,58 @@
+ARG LLVM_VERSION=21.1.0
+
+FROM ubuntu:24.04 AS llvm-downloader
+ARG LLVM_VERSION
+
+RUN apt-get update && \
+    apt-get install -y wget xz-utils && \
+    wget --progress=bar:force -O llvm.tar.xz https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/LLVM-${LLVM_VERSION}-Linux-X64.tar.xz && \
+    mkdir -p /llvm-extract && \
+    tar -xvJf llvm.tar.xz -C /llvm-extract LLVM-${LLVM_VERSION}-Linux-X64/bin/ && \
+    rm llvm.tar.xz
+
+
+FROM docker.io/library/ubuntu:24.04 AS base
+ENV LLVM_SYSROOT=/opt/llvm
+
+# Need nodejs for some of the GitHub actions.
+# Need git for git-clang-format.
+RUN apt-get update && \
+    DEBIAN_FRONTEND=noninteractive apt-get install -y \
+    git \
+    nodejs \
+    sudo \
+    # These are needed by the premerge pipeline.
+    # Pip is used to install dependent python packages.
+    python3-pip \
+    python-is-python3 && \
+    apt-get clean && \
+    rm -rf /var/lib/apt/lists/*
+
+WORKDIR /home/gha
+
+
+FROM base AS ci-container-code-format
+ARG LLVM_VERSION
+
+COPY --from=llvm-downloader /llvm-extract/LLVM-${LLVM_VERSION}-Linux-X64/bin/clang-format ${LLVM_SYSROOT}/bin/clang-format
+
+ENV PATH=${LLVM_SYSROOT}/bin:${PATH}
+
+# Install dependencies for 'pr-code-format.yml' job
+COPY llvm/utils/git/requirements_formatting.txt requirements_formatting.txt
+RUN pip install -r requirements_formatting.txt -break-system-packages && \
----------------
vbvictor wrote:

```suggestion
RUN pip install -r requirements_formatting.txt --break-system-packages && \
```

https://github.com/llvm/llvm-project/pull/161083


More information about the llvm-commits mailing list