Skip to content

workflow draft

workflow draft #644

name: Build and test Python wheels
on: [ push, pull_request ]
jobs:
build_wheels:
name: Build wheels on ${{ matrix.buildplat[0] }}
runs-on: ${{ matrix.buildplat[0] }}
strategy:
matrix:
buildplat:
- [ ubuntu-22.04, manylinux_x86_64 ]
- [ ubuntu-22.04, musllinux_x86_64 ]
- [ macos-13, macosx_x86_64 ]
- [ macos-14, macosx_arm64 ]
- [ windows-2019, win_amd64 ]
- [ windows-2019, win32 ]
python: [ "cp311", "cp312", "cp313" ] # exclude pp313t for now
exclude:
# Don't build PyPy 32-bit windows
- buildplat: [ windows-2019, win32 ]
python: "pp310"
- buildplat: [ ubuntu-22.04, musllinux_x86_64 ]
python: "pp310"
- buildplat: [ macos-14, macosx_arm64 ]
python: "pp310"
- buildplat: [ macos-13, macosx_x86_64 ]
python: "cp313t"
steps:
- uses: actions/checkout@v4
- name: Setup MSVC (32-bit)
if: ${{ matrix.buildplat[1] == 'win32' }}
uses: bus1/cabuild/action/msdevshell@e22aba57d6e74891d059d66501b6b5aed8123c4d # v1
with:
architecture: 'x86'
- name: Build wheels ${{ matrix.python }}-${{ matrix.buildplat[1] }}
uses: pypa/[email protected]
with:
package-dir: 'python/finufft'
env:
CIBW_PRERELEASE_PYTHONS: True
CIBW_FREE_THREADED_SUPPORT: True
CIBW_BUILD: ${{ matrix.python }}-${{ matrix.buildplat[1] }}
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.python }}-${{ matrix.buildplat[1] }}
path: ./wheelhouse/*.whl