@@ -47,6 +47,28 @@ RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
4747# as root in 'ci-container-code-format' and 'ci-container-code-lint' containers
4848
4949
50+ FROM base AS ci-container-build-tools
51+ ARG LLVM_VERSION
52+ ARG LLVM_VERSION_MAJOR
53+
54+ COPY --from=llvm-downloader /llvm-extract/LLVM-${LLVM_VERSION}-Linux-X64/bin/clang-${LLVM_VERSION_MAJOR} \
55+ ${LLVM_SYSROOT}/bin/
56+ COPY --from=llvm-downloader /llvm-extract/LLVM-${LLVM_VERSION}-Linux-X64/lib/clang/${LLVM_VERSION_MAJOR}/include \
57+ ${LLVM_SYSROOT}/lib/clang/${LLVM_VERSION_MAJOR}/include
58+ RUN ln -s ${LLVM_SYSROOT}/bin/clang-${LLVM_VERSION_MAJOR} ${LLVM_SYSROOT}/bin/clang && \
59+ ln -s ${LLVM_SYSROOT}/bin/clang ${LLVM_SYSROOT}/bin/clang++
60+
61+ RUN apt-get update && \
62+ DEBIAN_FRONTEND=noninteractive apt-get install -y \
63+ cmake \
64+ ninja-build && \
65+ apt-get clean && \
66+ rm -rf /var/lib/apt/lists/*
67+
68+ ENV CC=${LLVM_SYSROOT}/bin/clang
69+ ENV CXX=${LLVM_SYSROOT}/bin/clang++
70+
71+
5072FROM base AS ci-container-code-format
5173ARG LLVM_VERSION
5274
@@ -63,31 +85,37 @@ USER gha
6385WORKDIR /home/gha
6486
6587
66- FROM base AS ci-container-code-lint
88+ FROM ci-container-build-tools AS ci-container-code-lint
6789ARG LLVM_VERSION
6890ARG LLVM_VERSION_MAJOR
6991
7092COPY --from=llvm-downloader /llvm-extract/LLVM-${LLVM_VERSION}-Linux-X64/bin/clang-tidy \
71- /llvm-extract/LLVM-${LLVM_VERSION}-Linux-X64/bin/clang-${LLVM_VERSION_MAJOR} \
7293 ${LLVM_SYSROOT}/bin/
73- COPY --from=llvm-downloader /llvm-extract/LLVM-${LLVM_VERSION}-Linux-X64/lib/clang/${LLVM_VERSION_MAJOR}/include \
74- ${LLVM_SYSROOT}/lib/clang/${LLVM_VERSION_MAJOR}/include
7594COPY clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py ${LLVM_SYSROOT}/bin/clang-tidy-diff.py
7695
77- RUN ln -s ${LLVM_SYSROOT}/bin/clang-${LLVM_VERSION_MAJOR} ${LLVM_SYSROOT}/bin/clang && \
78- ln -s ${LLVM_SYSROOT}/bin/clang ${LLVM_SYSROOT}/bin/clang++
96+ # Install dependencies for 'pr-code-lint.yml' job
97+ COPY llvm/utils/git/requirements_linting.txt requirements_linting.txt
98+ RUN pip install -r requirements_linting.txt --break-system-packages && \
99+ rm requirements_linting.txt
100+ USER gha
101+ WORKDIR /home/gha
102+
79103
104+ FROM ci-container-build-tools as ci-container-abi-tests
80105
81106RUN apt-get update && \
82107 DEBIAN_FRONTEND=noninteractive apt-get install -y \
83- cmake \
84- ninja-build && \
108+ abi-compliance-checker \
109+ abi-dumper \
110+ autoconf \
111+ pkg-config && \
85112 apt-get clean && \
86113 rm -rf /var/lib/apt/lists/*
87114
88- # Install dependencies for 'pr-code-lint.yml' job
89- COPY llvm/utils/git/requirements_linting.txt requirements_linting.txt
90- RUN pip install -r requirements_linting.txt --break-system-packages && \
91- rm requirements_linting.txt
92- USER gha
93- WORKDIR /home/gha
115+ RUN git clone https://github.com/universal-ctags/ctags.git && \
116+ cd ctags && \
117+ ./autogen.sh && \
118+ ./configure && \
119+ sudo make install && \
120+ rm -Rf ../ctags
121+
0 commit comments