-
Notifications
You must be signed in to change notification settings - Fork 15.4k
[Github] Backport ABI Workflow Changes to Release Branch #167582
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Github] Backport ABI Workflow Changes to Release Branch #167582
Conversation
debf9ac to
70604da
Compare
|
@llvm/pr-subscribers-github-workflow Author: Aiden Grossman (boomanaiden154) ChangesThis patch just copies the definitions from main, which should be working. There are a lot of changes that were not explicitly backported. Full diff: https://github.com/llvm/llvm-project/pull/167582.diff 2 Files Affected:
diff --git a/.github/workflows/libclang-abi-tests.yml b/.github/workflows/libclang-abi-tests.yml
index 4d47c07f42205..b92b61de05088 100644
--- a/.github/workflows/libclang-abi-tests.yml
+++ b/.github/workflows/libclang-abi-tests.yml
@@ -38,7 +38,7 @@ jobs:
LLVM_VERSION_PATCH: ${{ steps.version.outputs.patch }}
steps:
- name: Checkout source
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 250
@@ -84,6 +84,8 @@ jobs:
if: github.repository_owner == 'llvm'
needs: abi-dump-setup
runs-on: ubuntu-24.04
+ container:
+ image: "ghcr.io/llvm/ci-ubuntu-24.04-abi-tests@sha256:f80125c0f767e29b8616210c0fd5cea2cd1f4fb6f2ca86d89f6016b6329b8d7f" #ghcr.io/llvm/ci-ubuntu-24.04-abi-tests:9524b37c503f
strategy:
matrix:
name:
@@ -100,23 +102,12 @@ jobs:
repo: ${{ github.repository }}
steps:
- name: Install Ninja
- uses: llvm/actions/install-ninja@main
- - name: Install abi-compliance-checker
- run: |
- sudo apt-get update
- sudo apt-get install -y abi-dumper autoconf pkg-config
- - name: Install universal-ctags
- run: |
- git clone https://github.com/universal-ctags/ctags.git
- cd ctags
- ./autogen.sh
- ./configure
- sudo make install
+ uses: llvm/actions/install-ninja@42d80571b13f4599bbefbc7189728b64723c7f78 # main
- name: Download source code
- uses: llvm/actions/get-llvm-project-src@main
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ matrix.ref }}
- repo: ${{ matrix.repo }}
+ repository: ${{ matrix.repo }}
- name: Configure
run: |
mkdir install
@@ -131,7 +122,7 @@ jobs:
sed -i 's/LLVM_[0-9]\+/LLVM_NOVERSION/' $lib-${{ matrix.ref }}.abi
done
- name: Upload ABI file
- uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6.0
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # 5.0.0
with:
name: ${{ matrix.name }}
path: '*${{ matrix.ref }}.abi'
@@ -139,25 +130,23 @@ jobs:
abi-compare:
if: github.repository_owner == 'llvm'
runs-on: ubuntu-24.04
+ container:
+ image: "ghcr.io/llvm/ci-ubuntu-24.04-abi-tests@sha256:f80125c0f767e29b8616210c0fd5cea2cd1f4fb6f2ca86d89f6016b6329b8d7f" #ghcr.io/llvm/ci-ubuntu-24.04-abi-tests:9524b37c503f
needs:
- abi-dump-setup
- abi-dump
steps:
- name: Download baseline
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # 4.1.8
+ uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: build-baseline
path: build-baseline
- name: Download latest
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # 4.1.8
+ uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: build-latest
path: build-latest
- - name: Install abi-compliance-checker
- run: |
- sudo apt-get update
- sudo apt-get install -y abi-compliance-checker
- name: Compare ABI
run: |
for lib in ${{ needs.abi-dump-setup.outputs.ABI_LIBS }}; do
@@ -165,7 +154,7 @@ jobs:
done
- name: Upload ABI Comparison
if: always()
- uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6.0
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # 5.0.0
with:
name: compat-report-${{ github.sha }}
path: compat_reports/
diff --git a/.github/workflows/llvm-tests.yml b/.github/workflows/llvm-abi-tests.yml
similarity index 80%
rename from .github/workflows/llvm-tests.yml
rename to .github/workflows/llvm-abi-tests.yml
index a9bd8db462cf7..f75dd9c3abd9e 100644
--- a/.github/workflows/llvm-tests.yml
+++ b/.github/workflows/llvm-abi-tests.yml
@@ -1,4 +1,4 @@
-name: LLVM Tests
+name: LLVM ABI Tests
permissions:
contents: read
@@ -10,13 +10,13 @@ on:
- 'release/**'
paths:
- 'llvm/**'
- - '.github/workflows/llvm-tests.yml'
+ - '.github/workflows/llvm-abi-tests.yml'
pull_request:
branches:
- 'release/**'
paths:
- 'llvm/**'
- - '.github/workflows/llvm-tests.yml'
+ - '.github/workflows/llvm-abi-tests.yml'
concurrency:
# Skip intermediate builds: always.
@@ -38,7 +38,7 @@ jobs:
LLVM_VERSION_PATCH: ${{ steps.version.outputs.patch }}
steps:
- name: Checkout source
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 250
@@ -72,6 +72,8 @@ jobs:
if: github.repository_owner == 'llvm'
needs: abi-dump-setup
runs-on: ubuntu-24.04
+ container:
+ image: "ghcr.io/llvm/ci-ubuntu-24.04-abi-tests@sha256:01e66b0847c1e9c88f0bd0492ed7c3374550a0730b48040f63888393f1ff6c13" #ghcr.io/llvm/ci-ubuntu-24.04-abi-tests:bb0bd382ab2b"
strategy:
matrix:
name:
@@ -87,24 +89,11 @@ jobs:
ref: ${{ github.sha }}
repo: ${{ github.repository }}
steps:
- - name: Install Ninja
- uses: llvm/actions/install-ninja@main
- - name: Install abi-compliance-checker
- run: |
- sudo apt-get update
- sudo apt-get -y install abi-dumper autoconf pkg-config
- - name: Install universal-ctags
- run: |
- git clone https://github.com/universal-ctags/ctags.git
- cd ctags
- ./autogen.sh
- ./configure
- sudo make install
- name: Download source code
- uses: llvm/actions/get-llvm-project-src@main
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ matrix.ref }}
- repo: ${{ matrix.repo }}
+ repository: ${{ matrix.repo }}
- name: Configure
run: |
mkdir install
@@ -128,14 +117,14 @@ jobs:
# Remove symbol versioning from dumps, so we can compare across major versions.
sed -i 's/LLVM_${{ matrix.llvm_version_major }}/LLVM_NOVERSION/' ${{ matrix.ref }}.abi
- name: Upload ABI file
- uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6.0
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # 5.0.0
with:
name: ${{ matrix.name }}
path: ${{ matrix.ref }}.abi
- name: Upload symbol list file
if: matrix.name == 'build-baseline'
- uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6.0
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # 5.0.0
with:
name: symbol-list
path: llvm.symbols
@@ -143,30 +132,28 @@ jobs:
abi-compare:
if: github.repository_owner == 'llvm'
runs-on: ubuntu-24.04
+ container:
+ image: "ghcr.io/llvm/ci-ubuntu-24.04-abi-tests@sha256:01e66b0847c1e9c88f0bd0492ed7c3374550a0730b48040f63888393f1ff6c13" #ghcr.io/llvm/ci-ubuntu-24.04-abi-tests:bb0bd382ab2b
needs:
- abi-dump-setup
- abi-dump
steps:
- name: Download baseline
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # 4.1.8
+ uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: build-baseline
path: build-baseline
- name: Download latest
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # 4.1.8
+ uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: build-latest
path: build-latest
- name: Download symbol list
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # 4.1.8
+ uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: symbol-list
path: symbol-list
- - name: Install abi-compliance-checker
- run: |
- sudo apt-get update
- sudo apt-get -y install abi-compliance-checker
- name: Compare ABI
run: |
if [ -s symbol-list/llvm.symbols ]; then
@@ -179,7 +166,7 @@ jobs:
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"
- name: Upload ABI Comparison
if: always()
- uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6.0
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # 5.0.0
with:
name: compat-report-${{ github.sha }}
path: compat_reports/
|
This patch just copies the definitions from main, which should be working. There are a lot of changes that were not explicitly backported.
70604da to
251d2d3
Compare
|
@boomanaiden154 (or anyone else). If you would like to add a note about this fix in the release notes (completely optional). Please reply to this comment with a one or two sentence description of the fix. When you are done, please add the release:note label to this PR. |
This patch just copies the definitions from main, which should be working. There are a lot of changes that were not explicitly backported.