Skip to content

Sync with 896039b

Sync with 896039b #219

Workflow file for this run

name: Python wheel
on:
pull_request:
branches:
- main
release:
types:
- published
jobs:
build_wheel:
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, macos-15-intel, macos-15, windows-2025]
name: ${{matrix.os}}
runs-on: ${{matrix.os}}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Xcode version
if: matrix.os == 'macos-15-intel'
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '16.4'
- name: Setup Xcode version
if: matrix.os == 'macos-15'
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '26.0.1'
- name: Setup MSVC
if: runner.os == 'Windows'
uses: ilammy/msvc-dev-cmd@v1
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Build wheels
uses: pypa/cibuildwheel@v2.23.3
env:
CIBW_BUILD_FRONTEND: "build[uv]"
CIBW_ARCHS_LINUX: auto64
CIBW_ARCHS_WINDOWS: auto64
CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
CIBW_SKIP: "*-musllinux* pp*"
CIBW_TEST_COMMAND: "pytest -s --pdb {project}/modules"
CIBW_TEST_REQUIRES: pytest
MACOSX_DEPLOYMENT_TARGET: 13.00
CIBW_BUILD_VERBOSITY: 2
- uses: actions/upload-artifact@v4
with:
name: wheels-${{matrix.os}}
path: ./wheelhouse/*.whl
upload_pypi:
name: Upload wheels to PyPI
runs-on: ubuntu-latest
needs: [build_wheel]
if: github.event_name == 'release' && github.event.action == 'published'
steps:
- uses: actions/download-artifact@v4
with:
pattern: wheels-*
merge-multiple: true
path: dist
- name: Deploy wheel
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}