]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
GHA/windows: fix shell, fix GHA fail to share cache between arm and intel Windows
authorViktor Szakats <commit@vsz.me>
Tue, 27 Jan 2026 23:15:45 +0000 (00:15 +0100)
committerViktor Szakats <commit@vsz.me>
Wed, 28 Jan 2026 01:33:57 +0000 (02:33 +0100)
A cache entry created by windows-2022 is not picked up by
windows-11-arm. Also a cache created by windows-11-arm is not picked up
by windows-2022. Possibly related to this filed in 2025 June:
https://github.com/actions/cache/issues/1622. Also tried
`enableCrossOsArchive` to no avail. Unclear if these two runners count
as distinct operating systems, I'd guess not. Cache entries are
identical on the web UI. Via GH API they show up with the same cache key
bot different "version" (hash) and different sizes, possibly due to the
zstd vs. gzip bug above.

Fixing (identical error text on either runner):
```
Error: Failed to restore cache entry. Exiting as fail-on-cache-miss is set. Input key: Windows-stunnel-5.76-amd64
```

Also fix a silly typo in the shell value.

Follow-up to 0f54ca6150f5bff5e8eb8b165de86262e98f5e69 #20454
Closes #20456

.github/workflows/windows.yml

index 38f9295a66dbc63ee9ed31e84afae6d3e32add2c..4de6c301e231da0c1bc884eb5774c40175b9cfb8 100644 (file)
@@ -39,7 +39,10 @@ env:
 jobs:
   build-cache:
     name: 'Build caches'
-    runs-on: windows-2022
+    runs-on: ${{ matrix.image }}
+    strategy:
+      matrix:
+        image: [windows-11-arm, windows-2022]  # Cannot share cache between arm and intel: https://github.com/actions/cache/issues/1622
     steps:
       - name: 'cache test prereqs (stunnel)'
         uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
@@ -51,7 +54,7 @@ jobs:
       - name: 'install test prereqs (stunnel)'
         if: ${{ steps.cache-stunnel.outputs.cache-hit != 'true' }}
         timeout-minutes: 2
-        shell: msys2 {0}  # zizmor: ignore[misfeature]
+        shell: bash
         run: |
           cd /c && mkdir my-stunnel && cd my-stunnel
           curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 240 --retry 3 --retry-connrefused \