Commit a4b7d57c79 for strongswan.org

commit a4b7d57c79160ef24002274a86479a5b1e08fbe6
Author: Tobias Brunner <tobias@strongswan.org>
Date:   Mon May 11 11:27:44 2026 +0200

    github: Only store a cache for large custom-built crypto libs

    The others are either included already in the "all" build (to which we
    now switch) or they have a relatively small diff to that (e.g. gcrypt
    only differs in that relatively small plugin).  For the "openssl-sys"
    build, we can rely on the "default" build but only on ubuntu-latest as
    we don't build that on ubuntu-22.04.

diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
index 6a112a72ab..f922834102 100644
--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -146,19 +146,25 @@ jobs:
       CC: ${{ matrix.compiler || 'gcc' }}
       TEST: ${{ matrix.test }}
       ACTIVE_TRANSFORMS_REF: .github/active-transforms/${{ matrix.test }}
+      # only store a cache for some tests as the others have a minimal diff (if
+      # any) compared to the 'all' build
       STORE_CACHE: >-
         ${{ github.event_name == 'push' &&
+            contains(fromJSON('["openssl-4", "openssl-awslc"]'), matrix.test) &&
             (!matrix.leak-detective || matrix.leak-detective == 'no') }}
+      CACHE_KEY: >-
+        ${{ case(contains(fromJSON('["openssl-4", "openssl-awslc"]'), matrix.test),
+              format('ccache-{0}-gcc-{1}', matrix.os, matrix.test),
+              matrix.os == 'ubuntu-latest' && matrix.test == 'openssl-sys',
+              format('ccache-{0}-gcc-default', matrix.os),
+              format('ccache-{0}-gcc-all', matrix.os)) }}
     steps:
       - uses: actions/checkout@v6
       - uses: actions/cache/restore@v5
         id: cache-restore
         with:
-          # path is different on newer systems
-          path: |
-            ~/.cache/ccache
-            ~/.ccache
-          key: ccache-${{ matrix.os }}-${{ env.CC }}-${{ matrix.test }}
+          path: ~/.cache/ccache
+          key: ${{ env.CACHE_KEY }}
       - run: |
           sudo apt-get install -qq ccache
           echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
@@ -184,9 +190,7 @@ jobs:
       - if: fromJSON(env.STORE_CACHE)
         uses: actions/cache/save@v5
         with:
-          path: |
-            ~/.cache/ccache
-            ~/.ccache
+          path: ~/.cache/ccache
           key: ${{ steps.cache-restore.outputs.cache-primary-key }}
       - if: ${{ failure() }}
         uses: actions/upload-artifact@v6
@@ -216,10 +220,7 @@ jobs:
       - uses: actions/cache/restore@v5
         id: cache-restore
         with:
-          # path is different on newer systems
-          path: |
-            ~/.cache/ccache
-            ~/.ccache
+          path: ~/.cache/ccache
           key: ccache-${{ matrix.os }}-${{ env.CC }}-${{ matrix.test }}
       - run: |
           sudo apt-get install -qq ccache
@@ -236,9 +237,7 @@ jobs:
       - if: github.event_name == 'push'
         uses: actions/cache/save@v5
         with:
-          path: |
-            ~/.cache/ccache
-            ~/.ccache
+          path: ~/.cache/ccache
           key: ${{ steps.cache-restore.outputs.cache-primary-key }}
       - if: ${{ failure() }}
         uses: actions/upload-artifact@v6