Skip to content

Bump pypa/cibuildwheel from 2.19.2 to 2.20.0 in the actions group (#59) #45

Bump pypa/cibuildwheel from 2.19.2 to 2.20.0 in the actions group (#59)

Bump pypa/cibuildwheel from 2.19.2 to 2.20.0 in the actions group (#59) #45

Workflow file for this run

# from https://cibuildwheel.pypa.io/en/stable/setup/#github-actions
name: Build
on:
push:
branches: ["master"]
pull_request:
branches: ["master"]
release:
types: [published]
concurrency:
group: ${{ github.workflow }}-${{ github.event.number }}-${{ github.event.ref }}
cancel-in-progress: true
jobs:
build_wheels:
name: ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.python}} wheels
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# macos-13 is an intel runner, macos-14 is apple silicon
os: [ubuntu-latest, windows-latest, macos-13, macos-14]
arch: [native]
python: ["{cp38,pp*}"]
# Split aarch64 across jobs because it uses emulation (slow)
include:
- os: ubuntu-latest
arch: i686
python: "{cp38,pp*}"
- os: ubuntu-latest
arch: aarch64
python: "cp38"
- os: ubuntu-latest
arch: aarch64
python: "pp38"
- os: ubuntu-latest
arch: aarch64
python: "pp39"
- os: ubuntu-latest
arch: aarch64
python: "pp310"
steps:
- uses: actions/checkout@v4
with:
submodules: true
# Linux emulation for aarch64 support
# https://cibuildwheel.pypa.io/en/stable/faq/#emulation
- uses: docker/setup-qemu-action@v3
with:
platforms: all
if: runner.os == 'Linux' && matrix.arch == 'aarch64'
- uses: pypa/[email protected]
env:
CIBW_ARCHS: "${{ matrix.arch }}"
CIBW_BUILD: "${{ matrix.python }}-*"
CIBW_MANYLINUX_X86_64_IMAGE: "quay.io/pypa/manylinux2014_x86_64:latest"
CIBW_MANYLINUX_AARCH64_IMAGE: "quay.io/pypa/manylinux2014_aarch64:latest"
CIBW_TEST_COMMAND: "python -c \"import rtmixer; print(rtmixer.__version__)\""
# No portaudio on these platforms:
CIBW_TEST_SKIP: "*_i686 *-musllinux_* *_aarch64"
# To enable testing we'd have to bump up to the Almalinux 8-based image:
# CIBW_MANYLINUX_AARCH64_IMAGE: "manylinux_2_28"
CIBW_BUILD_VERBOSITY: "3"
CIBW_BEFORE_TEST_LINUX: "bash {project}/tools/cibw_before_test_linux.sh"
# Use abi3audit to catch issues with Limited API wheels
CIBW_REPAIR_WHEEL_COMMAND: "bash ./tools/cibw_repair_wheel_command.sh {dest_dir} {wheel} {delocate_archs}"
CIBW_ENVIRONMENT_PASS_LINUX: "RUNNER_OS"
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.8"
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ matrix.arch}}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl
# From https://cibuildwheel.pypa.io/en/stable/deliver-to-pypi/
# and https://github.com/pypa/gh-action-pypi-publish?tab=readme-ov-file#trusted-publishing
make_sdist:
name: Make SDist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: pipx run build --sdist
- uses: actions/upload-artifact@v4
with:
name: cibw-sdist
path: dist/*.tar.gz
pypi-publish:
name: Upload release to PyPI
needs: [build_wheels, make_sdist]
if: github.event_name == 'release' && github.event.action == 'published'
environment:
name: pypi
url: https://pypi.org/p/rtmixer
permissions:
id-token: write
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
pattern: cibw-*
path: dist
merge-multiple: true
- run: ls -al dist/*
- uses: pypa/gh-action-pypi-publish@release/v1