Skip to content

Commit 5001ad5

Browse files
committed
[GitHub][CI] Add container for the abi-tests
1 parent 54548a7 commit 5001ad5

File tree

2 files changed

+28
-18
lines changed

2 files changed

+28
-18
lines changed

.github/workflows/containers/github-action-ci-tooling/Dockerfile

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
4848

4949

5050
FROM base AS ci-container-build-tools
51+
ARG LLVM_VERSION
52+
ARG LLVM_VERSION_MAJOR
5153

5254
COPY --from=llvm-downloader /llvm-extract/LLVM-${LLVM_VERSION}-Linux-X64/bin/clang-${LLVM_VERSION_MAJOR} \
5355
${LLVM_SYSROOT}/bin/
@@ -83,7 +85,7 @@ USER gha
8385
WORKDIR /home/gha
8486

8587

86-
FROM base AS ci-container-build-tools
88+
FROM ci-container-build-tools AS ci-container-code-lint
8789
ARG LLVM_VERSION
8890
ARG LLVM_VERSION_MAJOR
8991

@@ -97,3 +99,24 @@ RUN pip install -r requirements_linting.txt --break-system-packages && \
9799
rm requirements_linting.txt
98100
USER gha
99101
WORKDIR /home/gha
102+
103+
104+
FROM ci-container-build-tools as ci-container-abi-tests
105+
106+
RUN apt-get update && \
107+
DEBIAN_FRONTEND=noninteractive apt-get install -y \
108+
abi-compliance-checker \
109+
abi-dumper \
110+
autoconf \
111+
pkg-config && \
112+
apt-get clean && \
113+
rm -rf /var/lib/apt/lists/*
114+
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+
122+

.github/workflows/llvm-abi-tests.yml

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ jobs:
7272
if: github.repository_owner == 'llvm'
7373
needs: abi-dump-setup
7474
runs-on: ubuntu-24.04
75+
container:
76+
image: ${{ format('ghcr.io/{0}/ci-container-abi-tests',github.repository_owner) }}
7577
strategy:
7678
matrix:
7779
name:
@@ -87,19 +89,6 @@ jobs:
8789
ref: ${{ github.sha }}
8890
repo: ${{ github.repository }}
8991
steps:
90-
- name: Install Ninja
91-
uses: llvm/actions/install-ninja@42d80571b13f4599bbefbc7189728b64723c7f78 # main
92-
- name: Install abi-compliance-checker
93-
run: |
94-
sudo apt-get update
95-
sudo apt-get -y install abi-dumper autoconf pkg-config
96-
- name: Install universal-ctags
97-
run: |
98-
git clone https://github.com/universal-ctags/ctags.git
99-
cd ctags
100-
./autogen.sh
101-
./configure
102-
sudo make install
10392
- name: Download source code
10493
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
10594
with:
@@ -143,6 +132,8 @@ jobs:
143132
abi-compare:
144133
if: github.repository_owner == 'llvm'
145134
runs-on: ubuntu-24.04
135+
container:
136+
image: ${{ format('ghcr.io/{0}/ci-container-abi-tests',github.repository_owner) }}
146137
needs:
147138
- abi-dump-setup
148139
- abi-dump
@@ -163,10 +154,6 @@ jobs:
163154
name: symbol-list
164155
path: symbol-list
165156

166-
- name: Install abi-compliance-checker
167-
run: |
168-
sudo apt-get update
169-
sudo apt-get -y install abi-compliance-checker
170157
- name: Compare ABI
171158
run: |
172159
if [ -s symbol-list/llvm.symbols ]; then

0 commit comments

Comments
 (0)