[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

``

`-

`

``

13

`+

`

14

14

`pull_request:

`

15

15

`branches:

`

16

16

` - 'release/**'

`

17

17

`paths:

`

18

18

` - 'llvm/**'

`

19

``

`-

`

``

19

`+

`

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

``

`-

`

91

``

`-

uses: llvm/actions/install-ninja@main

`

92

``

`-

`

93

``

`-

run: |

`

94

``

`-

sudo apt-get update

`

95

``

`-

sudo apt-get -y install abi-dumper autoconf pkg-config

`

96

``

`-

`

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

``

`-

`

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 "EXTRAARGSllibLLVM.sooldbuildbaseline/.abinewbuildlatest/.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/

`