Use an output variable from cygwin-install-action to inform where we unpack the just-built cygwin artifact, because apparently the Windows ARM64 runners have a different configuration (no D: drive).
Also, drop unused 'target' variable from that matrix --- .github/workflows/cygwin.yml | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/.github/workflows/cygwin.yml b/.github/workflows/cygwin.yml index fa00834ce..54d7de1bb 100644 --- a/.github/workflows/cygwin.yml +++ b/.github/workflows/cygwin.yml @@ -204,14 +204,18 @@ jobs: windows-stress-test: needs: windows-build - runs-on: windows-latest strategy: fail-fast: false matrix: include: - - target: x86_64-pc-cygwin - pkgarch: x86_64 - name: Windows tests ${{ matrix.pkgarch }} + - pkgarch: x86_64 + runarch: x86_64 + runner: windows-latest + - pkgarch: x86_64 + runarch: arm64 + runner: windows-11-arm + runs-on: ${{ matrix.runner }} + name: Windows tests ${{ matrix.pkgarch }} on ${{ matrix.runarch }} steps: - run: git config --global core.autocrlf input @@ -219,6 +223,7 @@ jobs: # install cygwin - name: Install Cygwin + id: cygwin-install uses: cygwin/cygwin-install-action@master with: platform: ${{ matrix.pkgarch }} @@ -233,9 +238,9 @@ jobs: uses: actions/download-artifact@v4 with: name: cygwin-install-${{ matrix.pkgarch }} - # the path specified here should match the install-dir of - # cygwin-install-action above, so we unpack the artifact over it - path: 'D:\cygwin' + # use the install-dir of cygwin-install-action above, so we unpack the + # artifact over it + path: ${{ steps.cygwin-install.outputs.root }} # This isn't quite right, as it just overwrites existing files, it doesn't # remove anything which is no longer provided. Ideally, we'd make a cygwin @@ -255,7 +260,7 @@ jobs: - name: Capture logs artifact uses: actions/upload-artifact@v4 with: - name: stress-logs-${{ matrix.pkgarch }} + name: stress-logs-${{ matrix.pkgarch }}-on-${{ matrix.runarch }} path: | logs if: ${{ !cancelled() }} -- 2.45.1