v0.0.78 #494
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build source and binary wheels | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
release: | |
types: | |
- published | |
workflow_dispatch: | |
jobs: | |
build_wheels: | |
name: Build wheels on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
# Check this table to update os versions: | |
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories | |
os: [ubuntu-22.04, windows-2022, macos-13, macos-14] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Build wheels | |
env: | |
CIBW_BUILD: cp{38,39,310,311,312,313}-* | |
CIBW_ARCHS_MACOS: "arm64" | |
CIBW_TEST_EXTRAS: "dev" | |
CIBW_TEST_REQUIRES: "pytest" | |
CIBW_TEST_COMMAND: pytest {project}/crosshair -m smoke | |
CIBW_BUILD_VERBOSITY: 1 | |
# Skip tests: | |
# * linuxes don't have corresponding z3 binary builds | |
# * 3.13 in win32, which has a numpy build error rn | |
CIBW_TEST_SKIP: "*-*linux_{i686,aarch64,ppc64le,s390x} *-musllinux* cp313-win*" | |
uses: pypa/[email protected] | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} | |
path: ./wheelhouse/*.whl | |
build_sdist: | |
name: Build source distribution | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Build sdist | |
run: python3 setup.py sdist | |
- name: Test sdist build | |
run: pipx install --verbose dist/*.tar.gz | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: cibw-sdist | |
path: dist/*.tar.gz | |
upload_pypi: | |
needs: [build_wheels, build_sdist] | |
runs-on: ubuntu-latest | |
# Publish when a GitHub Release is created: | |
if: (github.event_name == 'workflow_dispatch') || (github.event_name == 'release' && github.event.action == 'published') | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
pattern: cibw-* | |
path: dist | |
merge-multiple: true | |
- uses: pypa/[email protected] | |
with: | |
user: __token__ | |
password: ${{ secrets.PYPI_TOKEN }} |