[pre-commit.ci] pre-commit autoupdate #691
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 release | |
on: | |
push: | |
branches: | |
- master | |
tags: | |
- 'v*' | |
pull_request: | |
jobs: | |
cibuildwheel_py38plus: | |
name: Build python 3.8+ ${{ matrix.manylinux_image }} wheels | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ ubuntu-20.04 ] | |
python: ['3.10'] | |
manylinux_image: [ manylinux2014, manylinux_2_28 ] | |
# Disable for platforms where pure Python wheels would be generated | |
cibw_skip: [ "pp38-* pp39-* pp310-* pp311-*" ] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
name: Install Python | |
with: | |
python-version: ${{ matrix.python }} | |
- name: Install cibuildwheel | |
run: | | |
python -m pip install --upgrade pip cibuildwheel | |
- name: Set up QEMU | |
# For cross-architecture builds | |
# https://cibuildwheel.readthedocs.io/en/stable/faq/#emulation | |
if: runner.os == 'Linux' | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: all | |
- name: Build binary wheels | |
env: | |
CIBW_SKIP: ${{ matrix.cibw_skip }} | |
CIBW_BUILD_VERBOSITY: 1 | |
CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux_image }} | |
CIBW_MANYLINUX_AARCH64_IMAGE: ${{ matrix.manylinux_image }} | |
CIBW_ARCHS_LINUX: "auto aarch64" | |
run: python -m cibuildwheel | |
- uses: actions/upload-artifact@v3 | |
with: | |
path: ./wheelhouse/*.whl | |
build_macos_wheels: | |
name: Build macos wheels (cross-compiles arm64) | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
name: Install Python | |
with: | |
python-version: "3.10" | |
- name: Install cibuildwheel | |
run: | | |
python -m pip install --upgrade pip cibuildwheel | |
- name: Build binary wheels | |
env: | |
CIBW_SKIP: "pp38-* pp39-* pp310-* pp311-*" | |
CIBW_BUILD_VERBOSITY: 1 | |
CIBW_ARCHS_MACOS: "x86_64 arm64" | |
run: python -m cibuildwheel | |
- uses: actions/upload-artifact@v3 | |
with: | |
path: ./wheelhouse/*.whl | |
build_pure_wheels: | |
name: Build pure python wheels | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
python: [3.9] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
name: Install Python | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install packaging tools | |
run: | | |
python -m pip install --upgrade pip setuptools importlib_metadata wheel | |
- name: Build Python pure Python wheel | |
env: | |
SCOUT_DISABLE_EXTENSIONS: "1" | |
run: python setup.py bdist_wheel | |
- uses: actions/upload-artifact@v3 | |
with: | |
path: dist/*.whl | |
build_sdist: | |
name: Build source distribution | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v3 | |
name: Install Python | |
with: | |
python-version: 3.9 | |
- name: Build sdist | |
run: python setup.py sdist | |
- uses: actions/upload-artifact@v3 | |
with: | |
path: dist/*.tar.gz | |
upload_pypi: | |
needs: [cibuildwheel_py38plus, build_pure_wheels, build_sdist, build_macos_wheels] | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Download distributions for publishing. | |
uses: actions/download-artifact@v3 | |
with: | |
name: artifact | |
path: dist | |
- name: Publish distributions to Test PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.TEST_TWINE_PASSWORD }} | |
repository_url: https://test.pypi.org/legacy/ | |
skip_existing: true | |
- name: Publish distributions to PyPI | |
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v') | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.TWINE_PASSWORD }} |