mirror of
https://github.com/google/benchmark.git
synced 2024-12-29 14:00:16 +08:00
9265511257
This commit bumps the pybind11 version to 2.10.0, which is the first pybind version coming with Python 3.11 support. This change is necessary to facilitate wheel builds for Python 3.11 and upward, as changes to Python internals in 3.11 broke compatibility with older pybind11 versions. Co-authored-by: Dominic Hamon <dominichamon@users.noreply.github.com>
80 lines
2.1 KiB
YAML
80 lines
2.1 KiB
YAML
name: Build and upload Python wheels
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
release:
|
|
types:
|
|
- published
|
|
|
|
jobs:
|
|
build_sdist:
|
|
name: Build source distribution
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check out repo
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Install Python 3.9
|
|
uses: actions/setup-python@v3
|
|
with:
|
|
python-version: 3.9
|
|
|
|
- name: Build and check sdist
|
|
run: |
|
|
python setup.py sdist
|
|
- name: Upload sdist
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: dist
|
|
path: dist/*.tar.gz
|
|
|
|
build_wheels:
|
|
name: Build Google Benchmark wheels on ${{ matrix.os }}
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
|
|
steps:
|
|
- name: Check out Google Benchmark
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up QEMU
|
|
if: runner.os == 'Linux'
|
|
uses: docker/setup-qemu-action@v2
|
|
with:
|
|
platforms: all
|
|
|
|
- name: Build wheels on ${{ matrix.os }} using cibuildwheel
|
|
uses: pypa/cibuildwheel@v2.9.0
|
|
env:
|
|
CIBW_BUILD: 'cp37-* cp38-* cp39-* cp310-* cp311-*'
|
|
CIBW_SKIP: "cp37-*-arm64 *-musllinux_*"
|
|
# TODO: Build ppc64le using some other trick
|
|
CIBW_ARCHS_LINUX: x86_64 aarch64
|
|
CIBW_ARCHS_MACOS: x86_64 arm64
|
|
CIBW_ARCHS_WINDOWS: AMD64
|
|
CIBW_BEFORE_ALL_LINUX: bash .github/install_bazel.sh
|
|
CIBW_TEST_COMMAND: python {project}/bindings/python/google_benchmark/example.py
|
|
|
|
- name: Upload Google Benchmark ${{ matrix.os }} wheels
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: dist
|
|
path: ./wheelhouse/*.whl
|
|
|
|
pypi_upload:
|
|
name: Publish google-benchmark wheels to PyPI
|
|
needs: [build_sdist, build_wheels]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/download-artifact@v3
|
|
with:
|
|
name: dist
|
|
path: dist
|
|
|
|
- uses: pypa/gh-action-pypi-publish@v1.5.0
|
|
with:
|
|
user: __token__
|
|
password: ${{ secrets.PYPI_PASSWORD }}
|