1- name : LLVM Tests
1+ name : LLVM ABI Tests
22
33permissions :
44 contents : read
1010 - ' release/**'
1111 paths :
1212 - ' llvm/**'
13- - ' .github/workflows/llvm-tests.yml'
13+ - ' .github/workflows/llvm-abi- tests.yml'
1414 pull_request :
1515 branches :
1616 - ' release/**'
1717 paths :
1818 - ' llvm/**'
19- - ' .github/workflows/llvm-tests.yml'
19+ - ' .github/workflows/llvm-abi- tests.yml'
2020
2121concurrency :
2222 # Skip intermediate builds: always.
3838 LLVM_VERSION_PATCH : ${{ steps.version.outputs.patch }}
3939 steps :
4040 - name : Checkout source
41- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
41+ uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
4242 with :
4343 fetch-depth : 250
4444
7272 if : github.repository_owner == 'llvm'
7373 needs : abi-dump-setup
7474 runs-on : ubuntu-24.04
75+ container :
76+ image : " ghcr.io/llvm/ci-ubuntu-24.04-abi-tests@sha256:01e66b0847c1e9c88f0bd0492ed7c3374550a0730b48040f63888393f1ff6c13" # ghcr.io/llvm/ci-ubuntu-24.04-abi-tests:bb0bd382ab2b"
7577 strategy :
7678 matrix :
7779 name :
@@ -87,24 +89,11 @@ jobs:
8789 ref : ${{ github.sha }}
8890 repo : ${{ github.repository }}
8991 steps :
90- - name : Install Ninja
91- uses : llvm/actions/install-ninja@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
104- uses : llvm/ actions/get-llvm-project-src@main
93+ uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
10594 with :
10695 ref : ${{ matrix.ref }}
107- repo : ${{ matrix.repo }}
96+ repository : ${{ matrix.repo }}
10897 - name : Configure
10998 run : |
11099 mkdir install
@@ -128,45 +117,43 @@ jobs:
128117 # Remove symbol versioning from dumps, so we can compare across major versions.
129118 sed -i 's/LLVM_${{ matrix.llvm_version_major }}/LLVM_NOVERSION/' ${{ matrix.ref }}.abi
130119 - name : Upload ABI file
131- uses : actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6 .0
120+ uses : actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # 5.0 .0
132121 with :
133122 name : ${{ matrix.name }}
134123 path : ${{ matrix.ref }}.abi
135124
136125 - name : Upload symbol list file
137126 if : matrix.name == 'build-baseline'
138- uses : actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6 .0
127+ uses : actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # 5.0 .0
139128 with :
140129 name : symbol-list
141130 path : llvm.symbols
142131
143132 abi-compare :
144133 if : github.repository_owner == 'llvm'
145134 runs-on : ubuntu-24.04
135+ container :
136+ image : " ghcr.io/llvm/ci-ubuntu-24.04-abi-tests@sha256:01e66b0847c1e9c88f0bd0492ed7c3374550a0730b48040f63888393f1ff6c13" # ghcr.io/llvm/ci-ubuntu-24.04-abi-tests:bb0bd382ab2b
146137 needs :
147138 - abi-dump-setup
148139 - abi-dump
149140 steps :
150141 - name : Download baseline
151- uses : actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # 4.1.8
142+ uses : actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
152143 with :
153144 name : build-baseline
154145 path : build-baseline
155146 - name : Download latest
156- uses : actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # 4.1.8
147+ uses : actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
157148 with :
158149 name : build-latest
159150 path : build-latest
160151 - name : Download symbol list
161- uses : actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # 4.1.8
152+ uses : actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
162153 with :
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
@@ -179,7 +166,7 @@ jobs:
179166 abi-compliance-checker $EXTRA_ARGS -l libLLVM.so -old build-baseline/*.abi -new build-latest/*.abi || test "${{ needs.abi-dump-setup.outputs.ABI_HEADERS }}" = "llvm-c"
180167 - name : Upload ABI Comparison
181168 if : always()
182- uses : actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6 .0
169+ uses : actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # 5.0 .0
183170 with :
184171 name : compat-report-${{ github.sha }}
185172 path : compat_reports/
0 commit comments