Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 63 additions & 11 deletions .github/workflows/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -466,38 +466,90 @@ jobs:
run: python -m unittest discover -s ./pathological_test/

#-------------------------------------------------------------------------------
build:
build_wheels:
needs:
- autoformating
- pathological

name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
# List of available: https://github.com/actions/runner-images
# Note: "*-large" runners cannot use free GH actions credits
- windows-2022
- macos-15-intel # intel silicon
- macos-15 # ARM64 silicon
- ubuntu-22.04
- ubuntu-22.04-arm # aarch64
include:
# Only build CPython 3.x targets
- cibw_build: "cp3*"

steps:
- uses: actions/checkout@v4

- name: Build wheels
uses: pypa/cibuildwheel@v2.23.3
env:
# Only build CPython targets
CIBW_BUILD: "cp3*"
# Ensure full C++17 availability on macOS builds
MACOSX_DEPLOYMENT_TARGET: "11.0"
# Signal setup.py to fail if binary build fails
SYSTEMRDL_REQUIRE_BINARY_BUILD: ~

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"

- name: Install dependencies
run: |
python -m pip install abi3audit

- name: ABI3 audit
run: |
abi3audit --debug --verbose --summary --strict wheelhouse/*.whl

- uses: actions/upload-artifact@v4
with:
name: release-dist-whl-${{ matrix.os }}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl

#-------------------------------------------------------------------------------
build_sdist:
needs:
- autoformating
- pathological
name: Build source distribution
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v4

- uses: actions/setup-python@v6
- uses: actions/setup-python@v4
name: Install Python
with:
python-version: "3.13"

- name: Install dependencies
run: |
python -m pip install -U build
python -m pip install build

- name: Build
run: python -m build
- name: Build sdist
run: python -m build --sdist

- uses: actions/upload-artifact@v4
with:
path: |
dist/*.tar.gz
dist/*.whl
name: release-dist-sdist
path: dist/*.tar.gz

#-------------------------------------------------------------------------------
deploy:
needs:
- build
- build_sdist
- build_wheels

runs-on: ubuntu-latest

Expand Down
Loading