diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c1f61fc..b0664d7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,37 +19,26 @@ jobs: # https://cibuildwheel.pypa.io/en/stable/options/#build-skip # https://cibuildwheel.pypa.io/en/stable/options/#archs buildplat: # [os, dist, arch] - - [ubuntu-latest, manylinux_x86_64, x86_64] - - [ubuntu-latest, musllinux_x86_64, x86_64] - - [ubuntu-latest, manylinux_aarch64, aarch64] - - [ubuntu-latest, musllinux_aarch64, aarch64] - - [macos-13, macosx_x86_64, x86_64] - - [macos-14, macosx_arm64, arm64] - - [windows-2022, win32, x86] - - [windows-latest, win_amd64, AMD64] - # - [windows-latest, win_arm64, ARM64] - python: ["cp38", "cp39", "cp310", "cp311", "cp312", "pp39", "pp310"] + # macos-15-intel is an Intel runner, macos-14 is Apple silicon + - [ubuntu-latest, manylinux_x86_64] + - [ubuntu-latest, musllinux_x86_64] + - [ubuntu-24.04-arm, manylinux_aarch64] + - [ubuntu-24.04-arm, musllinux_aarch64] + - [macos-15-intel, macosx_x86_64] + - [macos-14, macosx_arm64] + - [windows-latest, win_amd64] + - [windows-11-arm, win_arm64] + + python: ["cp39", "cp310", "cp311", "cp312", "cp313", "cp314", "pp311"] # PyPy is not supported for musllinux, win32 and windows arm64 # CPython 3.8 is not supported on windows arm64 exclude: - - buildplat: [ windows-2022, win32, x86 ] - python: "pp39" - - buildplat: [ windows-latest, win_arm64, ARM64 ] - python: "pp39" - - buildplat: [ ubuntu-latest, musllinux_x86_64, x86_64 ] - python: "pp39" - - buildplat: [ ubuntu-latest, musllinux_aarch64, aarch64 ] - python: "pp39" - - buildplat: [ windows-2022, win32, x86 ] - python: "pp310" - - buildplat: [ windows-latest, win_arm64, ARM64 ] - python: "pp310" - - buildplat: [ ubuntu-latest, musllinux_x86_64, x86_64 ] - python: "pp310" - - buildplat: [ ubuntu-latest, musllinux_aarch64, aarch64 ] - python: "pp310" - - buildplat: [ windows-latest, win_arm64, ARM64 ] - python: "cp38" + - buildplat: [windows-11-arm, win_arm64] + python: "pp311" + - buildplat: [ubuntu-latest, musllinux_x86_64 ] + python: "pp311" + - buildplat: [ubuntu-24.04-arm, musllinux_aarch64 ] + python: "pp311" steps: - name: Checkout @@ -57,30 +46,11 @@ jobs: with: submodules: recursive - # Required for linux arm64 - # https://cibuildwheel.pypa.io/en/stable/faq/#emulation - - name: Set up QEMU - if: ${{ contains(matrix.buildplat[1], 'linux_aarch64') }} - uses: docker/setup-qemu-action@v3 - with: - platforms: all - - - name: Setup MSVC (32-bit) - if: ${{ matrix.buildplat[1] == 'win32' }} - uses: bus1/cabuild/action/msdevshell@e22aba57d6e74891d059d66501b6b5aed8123c4d # v1 - with: - architecture: ${{ matrix.buildplat[2] }} - - name: Build wheels - uses: pypa/cibuildwheel@v2.23.3 + uses: pypa/cibuildwheel@v3.3.0 env: - CIBW_PRERELEASE_PYTHONS: True - CIBW_BUILD: ${{ matrix.python }}-${{ matrix.buildplat[1] }} - CIBW_ARCHS: ${{ matrix.buildplat[2] }} - CIBW_ENVIRONMENT_MACOS: > - CFLAGS='-s' - CXXFLAGS='-s' - MACOSX_DEPLOYMENT_TARGET='10.15' + CIBW_ENABLE: pypy + CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET='11.0' build_sdist: name: Build source distribution diff --git a/.github/workflows/publish_pypi.yml b/.github/workflows/publish_pypi.yml index 5c4ca6f..80d65b8 100644 --- a/.github/workflows/publish_pypi.yml +++ b/.github/workflows/publish_pypi.yml @@ -20,38 +20,27 @@ jobs: # https://github.com/github/feedback/discussions/7835#discussioncomment-1769026 # https://cibuildwheel.pypa.io/en/stable/options/#build-skip # https://cibuildwheel.pypa.io/en/stable/options/#archs - buildplat: # [os, dist, arch] - - [ ubuntu-latest, manylinux_x86_64, x86_64 ] - - [ ubuntu-latest, musllinux_x86_64, x86_64 ] - - [ ubuntu-latest, manylinux_aarch64, aarch64 ] - - [ ubuntu-latest, musllinux_aarch64, aarch64 ] - - [ macos-13, macosx_x86_64, x86_64 ] - - [ macos-14, macosx_arm64, arm64 ] - - [ windows-2022, win32, x86 ] - - [ windows-latest, win_amd64, AMD64 ] - # - [windows-latest, win_arm64, ARM64] - python: [ "cp38", "cp39", "cp310", "cp311", "cp312", "pp39", "pp310" ] + buildplat: # [os, dist, arch] + # macos-15-intel is an Intel runner, macos-14 is Apple silicon + - [ubuntu-latest, manylinux_x86_64] + - [ubuntu-latest, musllinux_x86_64] + - [ubuntu-24.04-arm, manylinux_aarch64] + - [ubuntu-24.04-arm, musllinux_aarch64] + - [macos-15-intel, macosx_x86_64] + - [macos-14, macosx_arm64] + - [windows-latest, win_amd64] + - [windows-11-arm, win_arm64] + + python: ["cp39", "cp310", "cp311", "cp312", "cp313", "cp314", "pp311"] # PyPy is not supported for musllinux, win32 and windows arm64 # CPython 3.8 is not supported on windows arm64 exclude: - - buildplat: [ windows-2022, win32, x86 ] - python: "pp39" - - buildplat: [ windows-latest, win_arm64, ARM64 ] - python: "pp39" - - buildplat: [ ubuntu-latest, musllinux_x86_64, x86_64 ] - python: "pp39" - - buildplat: [ ubuntu-latest, musllinux_aarch64, aarch64 ] - python: "pp39" - - buildplat: [ windows-2022, win32, x86 ] - python: "pp310" - - buildplat: [ windows-latest, win_arm64, ARM64 ] - python: "pp310" - - buildplat: [ ubuntu-latest, musllinux_x86_64, x86_64 ] - python: "pp310" - - buildplat: [ ubuntu-latest, musllinux_aarch64, aarch64 ] - python: "pp310" - - buildplat: [ windows-latest, win_arm64, ARM64 ] - python: "cp38" + - buildplat: [windows-11-arm, win_arm64] + python: "pp311" + - buildplat: [ubuntu-latest, musllinux_x86_64 ] + python: "pp311" + - buildplat: [ubuntu-24.04-arm, musllinux_aarch64 ] + python: "pp311" steps: - name: Checkout @@ -59,30 +48,11 @@ jobs: with: submodules: recursive - # Required for linux arm64 - # https://cibuildwheel.pypa.io/en/stable/faq/#emulation - - name: Set up QEMU - if: ${{ contains(matrix.buildplat[1], 'linux_aarch64') }} - uses: docker/setup-qemu-action@v3 - with: - platforms: all - - - name: Setup MSVC (32-bit) - if: ${{ matrix.buildplat[1] == 'win32' }} - uses: bus1/cabuild/action/msdevshell@e22aba57d6e74891d059d66501b6b5aed8123c4d # v1 - with: - architecture: ${{ matrix.buildplat[2] }} - - name: Build wheels - uses: pypa/cibuildwheel@v2.23.3 + uses: pypa/cibuildwheel@v3.3.0 env: - CIBW_PRERELEASE_PYTHONS: True - CIBW_BUILD: ${{ matrix.python }}-${{ matrix.buildplat[1] }} - CIBW_ARCHS: ${{ matrix.buildplat[2] }} - CIBW_ENVIRONMENT_MACOS: > - CFLAGS='-s' - CXXFLAGS='-s' - MACOSX_DEPLOYMENT_TARGET='10.15' + CIBW_ENABLE: pypy + CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET='11.0' - uses: actions/upload-artifact@v5 with: