From 38f46b29382b348abaa3424a07ab68683044ac8a Mon Sep 17 00:00:00 2001 From: Scott Talbert Date: Fri, 5 Sep 2025 11:17:47 -0400 Subject: [PATCH] Build wheels on Windows 11 ARM It seems a bit excessive to do this on pull requests, so only do it on pushes. --- .github/workflows/ci-build.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 56c84f5c..424a4ab3 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -107,7 +107,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-22.04, windows-2022, macos-13, macos-14 ] + os: [ ubuntu-22.04, windows-2022, macos-13, macos-14, windows-11-arm ] python-version: [ '3.9', '3.10', '3.11', '3.12', '3.13', '3.14' ] architecture: [ 'x86', 'x64', 'arm64' ] # Exclude x86 configs on non-Windows OSs @@ -130,6 +130,13 @@ jobs: - python-version: ${{ github.event_name == 'pull_request' && '3.10' }} - python-version: ${{ github.event_name == 'pull_request' && '3.11' }} - python-version: ${{ github.event_name == 'pull_request' && '3.12' }} + # Only build windows-11-arm on pushes + - os: ${{ github.event_name != 'push' && 'windows-11-arm' }} + # Python interpreter < 3.11 doesn't exist for Windows 11 ARM + - os: windows-11-arm + python-version: '3.9' + - os: windows-11-arm + python-version: '3.10' env: VERSION: ${{ needs.build-source-dist.outputs.VERSION }} @@ -167,6 +174,8 @@ jobs: else short_name=win32 fi + elif [ ${{ matrix.os }} == windows-11-arm ]; then + short_name=win64 fi echo "short_name=$short_name" >> "$GITHUB_OUTPUT" echo "canonical_id=$short_name-py${{ matrix.python-version }}-${{ matrix.architecture}}" >> "$GITHUB_OUTPUT"