diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0abf6c4..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] + os: [ubuntu-latest, ubuntu-24.04-arm, 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, ubuntu-24.04-arm, macos-latest, windows-latest, windows-11-arm] steps: - uses: actions/checkout@v5 @@ -86,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 @@ -98,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: @@ -123,6 +123,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-* @@ -131,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