diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7adf389c..a6531276 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,13 +30,17 @@ jobs: path: dist/*.tar.gz - build_wheels: - name: Wheels on ${{ matrix.os }} + build_wheels_x64: + name: x64 Wheels on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - os: [ ubuntu-latest, windows-latest, macos-latest ] + os: [ + ubuntu-latest, + windows-latest, + macos-latest + ] steps: - uses: actions/checkout@v3 @@ -45,8 +49,64 @@ jobs: - name: Build Wheels uses: pypa/cibuildwheel@v2.8.0 env: + CIBW_SKIP: "*-musllinux_x86_64 *-musllinux_i686" CIBW_ARCHS_MACOS: auto CIBW_ARCHS_WINDOWS: auto64 + CIBW_ARCHS_LINUX: auto64 + + - name: Upload wheels + uses: actions/upload-artifact@v3 + with: + path: wheelhouse/*.whl + + build_wheels_x86: + name: x86 Wheels on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ + ubuntu-latest, + # windows-latest, + # macos-latest + ] + + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - name: Build Wheels + uses: pypa/cibuildwheel@v2.8.0 + env: + CIBW_SKIP: "*-musllinux_x86_64 *-musllinux_i686" + CIBW_ARCHS_MACOS: universal2 + CIBW_ARCHS_WINDOWS: auto32 + CIBW_ARCHS_LINUX: auto32 + + - name: Upload wheels + uses: actions/upload-artifact@v3 + with: + path: wheelhouse/*.whl + + build_wheels_musl: + name: Musl Wheels on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ ubuntu-latest ] + + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - name: Build Wheels + uses: pypa/cibuildwheel@v2.8.0 + env: + CIBW_BUILD: "*-musllinux_x86_64 *-musllinux_i686" + CIBW_ARCHS_MACOS: universal2 + CIBW_ARCHS_WINDOWS: auto32 + CIBW_ARCHS_LINUX: auto32 - name: Upload wheels uses: actions/upload-artifact@v3 @@ -56,7 +116,7 @@ jobs: upload_all: name: Upload if release - needs: [ build_wheels, build_sdist ] + needs: [ build_sdist, build_wheels_x64, build_wheels_x86, build_wheels_musl ] runs-on: ubuntu-latest if: github.event_name == 'release' && github.event.action == 'published'