From 3760bbf1ed7e75ae372e4142eb253a8c0c76269c Mon Sep 17 00:00:00 2001 From: Nikhil Dabas Date: Tue, 6 Oct 2026 13:11:34 +0100 Subject: [PATCH 1/2] Add Windows ARM64 wheels and tests --- .github/workflows/ci.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0abf6c4..5fafc34 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-latest, windows-latest] + os: [ubuntu-latest, macos-latest, windows-latest, windows-11-arm] python-version: [ ["3.9", "py39"], ["3.10", "py310"], @@ -31,6 +31,12 @@ jobs: ["3.14", "py314"], ["3.14t", "py314t"], ] + # setup-python only provides Windows ARM64 builds for Python 3.11+ + exclude: + - os: windows-11-arm + python-version: ["3.9", "py39"] + - os: windows-11-arm + python-version: ["3.10", "py310"] steps: - name: Set git to use LF on Windows if: runner.os == 'Windows' @@ -72,7 +78,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, macos-latest, windows-latest] + os: [ubuntu-latest, macos-latest, windows-latest, windows-11-arm] steps: - uses: actions/checkout@v5 @@ -123,6 +129,10 @@ jobs: with: pattern: wheels-windows-latest-* path: dist/ + - uses: actions/download-artifact@v6 + with: + pattern: wheels-windows-11-arm-* + path: dist/ - uses: actions/download-artifact@v6 with: pattern: wheels-macos-latest-* From 06c0dd512b0d5ed2719ea93ee4484b37a644a9b2 Mon Sep 17 00:00:00 2001 From: Nikhil Dabas Date: Tue, 6 Oct 2026 13:14:14 +0100 Subject: [PATCH 2/2] Switch Linux ARM64 builds to native and add tests --- .github/workflows/ci.yml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5fafc34..3391688 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-latest, windows-latest, windows-11-arm] + os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest, windows-11-arm] python-version: [ ["3.9", "py39"], ["3.10", "py310"], @@ -78,7 +78,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, macos-latest, windows-latest, windows-11-arm] + os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest, windows-11-arm] steps: - uses: actions/checkout@v5 @@ -92,11 +92,6 @@ jobs: # - name: Install Visual C++ for Python 2.7 # if: runner.os == 'Windows' # run: choco install vcpython27 -f -y - - name: Install QEMU - if: runner.os == 'Linux' - uses: docker/setup-qemu-action@v3 - with: - platforms: all - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse @@ -104,7 +99,6 @@ jobs: CIBW_BUILD: "cp39-* pp*-* cp314t-*" CIBW_SKIP: "*musllinux*" CIBW_ENABLE: pypy - CIBW_ARCHS_LINUX: auto aarch64 CIBW_BEFORE_BUILD_LINUX: yum install -y libffi-devel - uses: actions/upload-artifact@v4 with: @@ -141,5 +135,9 @@ jobs: with: pattern: wheels-ubuntu-latest-* path: dist/ + - uses: actions/download-artifact@v6 + with: + pattern: wheels-ubuntu-24.04-arm-* + path: dist/ - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@release/v1