Skip to content

Add Python pybind11 bindings + Upgrade ci/cd #65

Add Python pybind11 bindings + Upgrade ci/cd

Add Python pybind11 bindings + Upgrade ci/cd #65

Workflow file for this run

---
name: Wheels
'on':
workflow_dispatch: null
pull_request: null
push:
branches:
- master
release:
types:
- published
env:
FORCE_COLOR: 3
concurrency:
group: '${{ github.workflow }}-${{ github.ref }}'
cancel-in-progress: true
jobs:
build_sdist:
name: Build SDist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Build SDist
run: pipx run build --sdist
- name: Check metadata
run: pipx run twine check dist/*
- uses: actions/upload-artifact@v3
with:
path: dist/*.tar.gz
build_wheels:
name: 'Wheels on ${{ matrix.os }}'
runs-on: '${{ matrix.os }}'
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: pypa/[email protected]
env:
CIBW_ARCHS_MACOS: universal2
CIBW_ARCHS_WINDOWS: auto ARM64
CMAKE_GENERATOR: '${{ env.CMAKE_GENERATOR }}'
- name: Verify clean directory
run: git diff --exit-code
shell: bash
- uses: actions/upload-artifact@v3
with:
path: wheelhouse/*.whl
upload_all:
name: Upload if release
needs:
- build_wheels
- build_sdist
runs-on: ubuntu-latest
if: github.event_name == 'release' && github.event.action == 'published'
steps:
- uses: actions/setup-python@v4
with:
python-version: 3.x
- uses: actions/download-artifact@v3
with:
name: artifact
path: dist
- uses: pypa/gh-action-pypi-publish@release/v1
with:
password: '${{ secrets.pypi_password }}'