From 78e48c4efcd4ce18ef130eabb454e45dc468ccd2 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Fri, 18 Jul 2025 12:10:36 +0200 Subject: [PATCH] ci: install zstd for win arm64 straight from github releases --- .github/actions/environment/action.yml | 4 +--- .github/actions/install-zstd/action.yml | 26 +++++++++++++++++++++++++ .github/workflows/build.yml | 4 +--- 3 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 .github/actions/install-zstd/action.yml diff --git a/.github/actions/environment/action.yml b/.github/actions/environment/action.yml index 3820c61c4a..6190f4882a 100644 --- a/.github/actions/environment/action.yml +++ b/.github/actions/environment/action.yml @@ -27,9 +27,7 @@ runs: # zstd is needed for cross OS actions/cache but missing from windows-11-arm # https://github.com/actions/partner-runner-images/issues/99 - name: Install zstd on Windows ARM64 - if: runner.os == 'Windows' && runner.arch == 'ARM64' - shell: pwsh - run: choco install zstandard + uses: ./.github/actions/install-zstd # See https://github.com/actions/runner-images/blob/main/images/macos/macos-15-Readme.md#xcode - name: Pin the Xcode Version diff --git a/.github/actions/install-zstd/action.yml b/.github/actions/install-zstd/action.yml new file mode 100644 index 0000000000..d60418b1df --- /dev/null +++ b/.github/actions/install-zstd/action.yml @@ -0,0 +1,26 @@ +name: Install zstd on Windows ARM64 +description: | + zstd is needed for cross OS actions/cache but missing from windows-11-arm + (https://github.com/actions/partner-runner-images/issues/99). Once the issue + is resolved, this action can be removed. +inputs: + version: + description: 'zstd version' + required: false + default: '1.5.7' + +runs: + using: composite + steps: + - name: Install zstd + if: runner.os == 'Windows' && runner.arch == 'ARM64' + shell: pwsh + env: + ZSTD_VERSION: ${{ inputs.version }} + run: | + $url = "https://github.com/facebook/zstd/releases/download/v$env:ZSTD_VERSION/zstd-v$env:ZSTD_VERSION-win64.zip" + $installDir = "$env:RUNNER_TOOL_CACHE\zstd-v$env:ZSTD_VERSION-win64" + Invoke-WebRequest -OutFile "$env:TEMP\zstd.zip" -Uri $url + Expand-Archive -Path "$env:TEMP\zstd.zip" -DestinationPath $env:RUNNER_TOOL_CACHE -Force + echo "$installDir" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + & "$installDir\zstd.exe" --version diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f7b64b1226..3767884481 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,9 +43,7 @@ jobs: # zstd is needed for cross OS actions/cache but missing from windows-11-arm # https://github.com/actions/partner-runner-images/issues/99 - name: Install zstd on Windows ARM64 - if: runner.os == 'Windows' && runner.arch == 'ARM64' - shell: pwsh - run: choco install zstandard + uses: ./.github/actions/install-zstd - uses: actions/cache@v4 id: cache