Skip to content

Build Wheels

Build Wheels #27

Workflow file for this run

name: Build Wheels
on: [workflow_dispatch]
jobs:
build:
name: Build wheel for ${{ matrix.platform_id }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
# manylinux
- os: ubuntu-latest
platform_id: manylinux_x86_64
- os: ubuntu-latest
platform_id: manylinux_i686
- os: ubuntu-latest
platform_id: manylinux_aarch64
- os: ubuntu-latest
platform_id: manylinux_ppc64le
- os: ubuntu-latest
platform_id: manylinux_s390x
# musllinux
- os: ubuntu-latest
platform_id: musllinux_x86_64
- os: ubuntu-latest
platform_id: musllinux_i686
- os: ubuntu-latest
platform_id: musllinux_aarch64
- os: ubuntu-latest
platform_id: musllinux_ppc64le
- os: ubuntu-latest
platform_id: musllinux_s390x
# MacOS x86_64
- os: macos-13
platform_id: macosx_x86_64
# MacOS arm64
- os: macos-14
platform_id: macosx_arm64
steps:
- uses: "actions/checkout@v4"
with:
fetch-depth: 0
submodules: "recursive"
- name: Build wheels
uses: pypa/[email protected]
env: # Can specify per os - e.g. CIBW_BEFORE_ALL_LINUX, CIBW_BEFORE_ALL_MACOS, CIBW_BEFORE_ALL_WINDOWS
CIBW_BEFORE_ALL_LINUX: ./build_tools/before_all_linux.sh
CIBW_BEFORE_ALL_MACOS: ./build_tools/before_all_mac.sh
CIBW_BUILD: "*${{matrix.platform_id}}"
CIBW_TEST_REQUIRES: pytest
CIBW_TEST_COMMAND: pytest {package}/tests
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.platform_id }}
path: ./wheelhouse/*.whl