[llvm-branch-commits] [llvm] release/23.x: workflows/llvm-abi-tests: Cache the baseline abi (#211968) (PR #213385)

Douglas Yung via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Fri Aug 7 01:22:53 PDT 2026


https://github.com/dyung updated https://github.com/llvm/llvm-project/pull/213385

>From 26555971ce6a203b7ea75f1526bcdfa17f34a037 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 31 Jul 2026 16:32:37 -0700
Subject: [PATCH] workflows/llvm-abi-tests: Cache the baseline abi (#211968)

This way we don't need to recompute it for every workflow.

(cherry picked from commit 09734937d37ca9c8e8c9cdaa55d00339068922c3)
---
 .github/workflows/llvm-abi-tests.yml | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/.github/workflows/llvm-abi-tests.yml b/.github/workflows/llvm-abi-tests.yml
index ebd5037998b98..70175b0f39163 100644
--- a/.github/workflows/llvm-abi-tests.yml
+++ b/.github/workflows/llvm-abi-tests.yml
@@ -93,23 +93,37 @@ jobs:
             ref: ${{ github.sha }}
             repo: ${{ github.repository }}
     steps:
+      - name: Check for cached baseline ABI
+        if: ${{ matrix.name == 'build-baseline' }}
+        id: cache
+        uses: actions/cache/restore at 55cc8345863c7cc4c66a329aec7e433d2d1c52a9 #v6.1.0
+        with:
+          key: ${{ matrix.ref}}.abi
+          path: |
+            ${{ matrix.ref }}.abi
+            llvm.symbols
+
       - name: Download source code
         uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
+        if: steps.cache.outputs.cache-hit != 'true'
         with:
           persist-credentials: false
           ref: ${{ matrix.ref }}
           repository: ${{ matrix.repo }}
       - name: Configure
+        if: steps.cache.outputs.cache-hit != 'true'
         run: |
           mkdir install
           cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DLLVM_TARGETS_TO_BUILD="" -DLLVM_BUILD_LLVM_DYLIB=ON -DCMAKE_INSTALL_PREFIX="$(pwd)"/install llvm
       - name: Build
+        if: steps.cache.outputs.cache-hit != 'true'
         # Need to run install-LLVM twice to ensure the symlink is installed (this is a bug).
         run: |
           ninja -C build install-LLVM
           ninja -C build install-LLVM
           ninja -C build install-llvm-headers
       - name: Dump ABI
+        if: steps.cache.outputs.cache-hit != 'true'
         env:
           REF: ${{ matrix.ref }}
           ABI_HEADERS: ${{ needs.abi-dump-setup.outputs.ABI_HEADERS }}
@@ -138,6 +152,15 @@ jobs:
           name: symbol-list
           path: llvm.symbols
 
+      - name: Cache baseline ABI
+        if: ${{ matrix.name == 'build-baseline' }}
+        uses: actions/cache/save at 55cc8345863c7cc4c66a329aec7e433d2d1c52a9 #v6.1.0
+        with:
+          key: ${{ matrix.ref }}.abi
+          path: |
+            ${{ matrix.ref }}.abi
+            llvm.symbols
+
   abi-compare:
     if: github.repository_owner == 'llvm'
     runs-on: ubuntu-24.04



More information about the llvm-branch-commits mailing list