name: Build wheels on: [push, pull_request, workflow_dispatch] concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: build_wheels: name: py${{ matrix.python-version }} on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: # cibuildwheel builds linux wheels inside a manylinux container # it also takes care of procuring the correct python version for us os: [ubuntu-latest, windows-latest, macos-latest] python-version: [39, 310, 311] steps: - uses: actions/checkout@v3 - uses: pypa/cibuildwheel@v2.11.3 env: CIBW_BUILD: "cp${{ matrix.python-version}}-*" - uses: actions/upload-artifact@v3 with: name: dist path: ./wheelhouse/*.whl build_sdist: name: sdist runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 name: Install Python with: python-version: "3.9" - name: Run check-manifest run: | pip install check-manifest check-manifest -v - name: Build sdist run: | pip install --upgrade build python -m build --sdist - uses: actions/upload-artifact@v3 with: name: dist path: ./dist/*.tar.gz