[Github] Backport ABI Workflow Changes to Release Branch · llvm/llvm-project@251d2d3 (original) (raw)
1
``
`-
name: LLVM Tests
`
``
1
`+
name: LLVM ABI Tests
`
2
2
``
3
3
`permissions:
`
4
4
`contents: read
`
`@@ -10,13 +10,13 @@ on:
`
10
10
` - 'release/**'
`
11
11
`paths:
`
12
12
` - 'llvm/**'
`
13
``
`-
- '.github/workflows/llvm-tests.yml'
`
``
13
`+
- '.github/workflows/llvm-abi-tests.yml'
`
14
14
`pull_request:
`
15
15
`branches:
`
16
16
` - 'release/**'
`
17
17
`paths:
`
18
18
` - 'llvm/**'
`
19
``
`-
- '.github/workflows/llvm-tests.yml'
`
``
19
`+
- '.github/workflows/llvm-abi-tests.yml'
`
20
20
``
21
21
`concurrency:
`
22
22
`# Skip intermediate builds: always.
`
`@@ -38,7 +38,7 @@ jobs:
`
38
38
`LLVM_VERSION_PATCH: ${{ steps.version.outputs.patch }}
`
39
39
`steps:
`
40
40
` - name: Checkout source
`
41
``
`-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
`
``
41
`+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
`
42
42
`with:
`
43
43
`fetch-depth: 250
`
44
44
``
72
72
`if: github.repository_owner == 'llvm'
`
73
73
`needs: abi-dump-setup
`
74
74
`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"
`
75
77
`strategy:
`
76
78
`matrix:
`
77
79
`name:
`
`@@ -87,24 +89,11 @@ jobs:
`
87
89
`ref: ${{ github.sha }}
`
88
90
`repo: ${{ github.repository }}
`
89
91
`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
`
103
92
` - name: Download source code
`
104
``
`-
uses: llvm/actions/get-llvm-project-src@main
`
``
93
`+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
`
105
94
`with:
`
106
95
`ref: ${{ matrix.ref }}
`
107
``
`-
repo: ${{ matrix.repo }}
`
``
96
`+
repository: ${{ matrix.repo }}
`
108
97
` - name: Configure
`
109
98
`run: |
`
110
99
` mkdir install
`
`@@ -128,45 +117,43 @@ jobs:
`
128
117
` # Remove symbol versioning from dumps, so we can compare across major versions.
`
129
118
` sed -i 's/LLVM_${{ matrix.llvm_version_major }}/LLVM_NOVERSION/' ${{ matrix.ref }}.abi
`
130
119
` - name: Upload ABI file
`
131
``
`-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6.0
`
``
120
`+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # 5.0.0
`
132
121
`with:
`
133
122
`name: ${{ matrix.name }}
`
134
123
`path: ${{ matrix.ref }}.abi
`
135
124
``
136
125
` - name: Upload symbol list file
`
137
126
`if: matrix.name == 'build-baseline'
`
138
``
`-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6.0
`
``
127
`+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # 5.0.0
`
139
128
`with:
`
140
129
`name: symbol-list
`
141
130
`path: llvm.symbols
`
142
131
``
143
132
`abi-compare:
`
144
133
`if: github.repository_owner == 'llvm'
`
145
134
`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
`
146
137
`needs:
`
147
138
` - abi-dump-setup
`
148
139
` - abi-dump
`
149
140
`steps:
`
150
141
` - name: Download baseline
`
151
``
`-
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # 4.1.8
`
``
142
`+
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
`
152
143
`with:
`
153
144
`name: build-baseline
`
154
145
`path: build-baseline
`
155
146
` - name: Download latest
`
156
``
`-
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # 4.1.8
`
``
147
`+
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
`
157
148
`with:
`
158
149
`name: build-latest
`
159
150
`path: build-latest
`
160
151
` - name: Download symbol list
`
161
``
`-
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # 4.1.8
`
``
152
`+
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
`
162
153
`with:
`
163
154
`name: symbol-list
`
164
155
`path: symbol-list
`
165
156
``
166
``
`-
- name: Install abi-compliance-checker
`
167
``
`-
run: |
`
168
``
`-
sudo apt-get update
`
169
``
`-
sudo apt-get -y install abi-compliance-checker
`
170
157
` - name: Compare ABI
`
171
158
`run: |
`
172
159
` if [ -s symbol-list/llvm.symbols ]; then
`
`@@ -179,7 +166,7 @@ jobs:
`
179
166
` abi-compliance-checker EXTRAARGS−llibLLVM.so−oldbuild−baseline/∗.abi−newbuild−latest/∗.abi∣∣test"EXTRA_ARGS -l libLLVM.so -old build-baseline/.abi -new build-latest/.abi || test "EXTRAARGS−llibLLVM.so−oldbuild−baseline/∗.abi−newbuild−latest/∗.abi∣∣test"{{ needs.abi-dump-setup.outputs.ABI_HEADERS }}" = "llvm-c"
`
180
167
` - name: Upload ABI Comparison
`
181
168
`if: always()
`
182
``
`-
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6.0
`
``
169
`+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # 5.0.0
`
183
170
`with:
`
184
171
`name: compat-report-${{ github.sha }}
`
185
172
`path: compat_reports/
`