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"