Skip to content

Move from Pybind11 to nanobind #378

Move from Pybind11 to nanobind

Move from Pybind11 to nanobind #378

Workflow file for this run

name: Release on PyPI [Linux]
on:
pull_request:
release:
types:
- published
jobs:
build-wheel:
name: "Build ${{ matrix.build }} wheels on ${{ matrix.os }} ${{ matrix.arch }}"
runs-on: "${{ matrix.os }}-latest"
strategy:
matrix:
os: ["ubuntu"]
arch: ["x86_64"]
build: ["cp38-*", "cp39-*", "cp310-*", "cp311-*", "cp312-*", "pp38-*", "pp39-*"]
include:
- arch: "aarch64"
os: "ubuntu"
build: "cp38-manylinux*"
- arch: "aarch64"
os: "ubuntu"
build: "cp39-manylinux*"
- arch: "aarch64"
os: "ubuntu"
build: "cp310-manylinux*"
- arch: "aarch64"
os: "ubuntu"
build: "cp311-manylinux*"
- arch: "aarch64"
os: "ubuntu"
build: "cp312-manylinux*"
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Set up QEMU
if: matrix.arch == 'aarch64'
uses: docker/setup-qemu-action@v2
with:
platforms: all
- run: python -m pip install -U pip
- run: python -m pip install cibuildwheel
- run: touch setup.py
if: matrix.arch == 'aarch64'
- run: python -m cibuildwheel --output-dir dist
env:
CIBW_BUILD: ${{ matrix.build }}
CIBW_ARCHS: ${{ matrix.arch }}
CIBW_MANYLINUX_X86_64_IMAGE: "quay.io/pypa/manylinux2014_x86_64"
CIBW_MANYLINUX_PYPY_X86_64_IMAGE: "quay.io/pypa/manylinux2014_x86_64"
CIBW_MANYLINUX_AARCH64_IMAGE: "quay.io/pypa/manylinux_2_28_aarch64"
CIBW_REPAIR_WHEEL_COMMAND: ""
CIBW_ENVIRONMENT: "CMEEL_JOBS=2 CMEEL_RUN_TESTS=OFF"
- uses: actions/upload-artifact@v3
with:
name: dist
path: dist
release:
needs: "build-wheel"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
- uses: actions/download-artifact@v3
- name: Publish package to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
if: |
github.repository == 'Simple-Robotics/proxsuite' &&
(github.event_name == 'release' && github.event.action == 'published')
with:
user: __token__
password: ${{ secrets.PYPI_TOKEN }}
check:
if: always()
name: check-release-linux
needs:
- build-wheel
runs-on: Ubuntu-latest
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}