|
- name: Build
- on: [push, pull_request]
-
- jobs:
- build-wheels:
- name: Build wheels for ${{ matrix.os }}
- runs-on: ${{ matrix.runs-on }}
- strategy:
- matrix:
- include:
- - os: linux-intel
- runs-on: ubuntu-latest
- - os: linux-arm
- runs-on: ubuntu-24.04-arm
- - os: windows-intel
- runs-on: windows-latest
- - os: macos-intel
- runs-on: macos-13
- - os: macos-arm
- runs-on: macos-latest
-
- steps:
- - uses: actions/checkout@v4
- with:
- fetch-depth: 0
-
- - name: Build wheels
- uses: pypa/cibuildwheel@v3.0.0
-
- - uses: actions/upload-artifact@v4
- with:
- name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
- path: ./wheelhouse/*.whl
-
- - name: Coveralls
- uses: coverallsapp/github-action@v2
-
- build-sdist:
- name: Build source distribution
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- with:
- fetch-depth: 0
-
- - name: Build sdist
- run: pipx run build --sdist
-
- - uses: actions/upload-artifact@v4
- with:
- name: cibw-sdist
- path: dist/*.tar.gz
-
- upload-pypi:
- name: Publish to PyPI
- needs: [build-wheels, build-sdist]
- runs-on: ubuntu-latest
- environment: pypi
- permissions:
- id-token: write
- if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
- steps:
- - uses: actions/download-artifact@v4
- with:
- pattern: cibw-*
- path: dist
- merge-multiple: true
-
- - uses: pypa/gh-action-pypi-publish@release/v1
|