diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index b03a0d4..a3114c3 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -110,9 +110,6 @@ jobs: - runner: windows-latest target: x86 python_arch: x86 - - runner: windows-11-arm - target: aarch64 - python_arch: arm64 steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 @@ -141,6 +138,30 @@ jobs: name: wheels-windows-${{ matrix.platform.target }} path: dist + # Free-threaded 3.14t wheels for windows-11-arm are skipped: the runner image + # ships with Python 3.14 GIL preinstalled, which breaks setup-python's 3.14t + # install. Tracked upstream at + # https://github.com/actions/partner-runner-images/issues/154 + windows_arm: + runs-on: windows-11-arm + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 + with: + python-version: 3.13 + architecture: arm64 + - name: Build wheels + uses: PyO3/maturin-action@v1 + with: + target: aarch64 + args: --release --out dist + sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} + - name: Upload wheels + uses: actions/upload-artifact@v6 + with: + name: wheels-windows-aarch64 + path: dist + macos: runs-on: ${{ matrix.platform.runner }} strategy: @@ -195,7 +216,7 @@ jobs: name: Release runs-on: ubuntu-latest if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }} - needs: [linux, musllinux, windows, macos, sdist] + needs: [linux, musllinux, windows, windows_arm, macos, sdist] permissions: # Use to sign the release artifacts id-token: write