Skip to content

HNL DIS from spline (core implementation) #586

HNL DIS from spline (core implementation)

HNL DIS from spline (core implementation) #586

Workflow file for this run

name: Build
on: [pull_request]
jobs:
build_wheels_macos:
name: Build wheels on ${{ matrix.os }} (${{ matrix.arch }}) - ${{ matrix.py }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-14, macos-15, macos-15-intel]
py: [cp38, cp39, cp310, cp311, cp312]
arch: [arm64, x86_64]
exclude:
# macos-14 / macos-15 are Apple Silicon runners
- os: macos-14
arch: x86_64
- os: macos-15
arch: x86_64
# macos-15-intel is an Intel runner
- os: macos-15-intel
arch: arm64
steps:
- uses: actions/checkout@v4
# IMPORTANT: CPython 3.8 on arm64 uses an x86_64 Python under Rosetta by default.
# Installing a native arm64 Python 3.8 avoids CMake thinking it's x86_64.
- name: Install native Python 3.8 (arm64 runner only)
uses: actions/setup-python@v5
if: runner.os == 'macOS' && runner.arch == 'ARM64' && matrix.py == 'cp38'
with:
python-version: '3.8'
- name: Build wheels
uses: pypa/cibuildwheel@v2.18.1
env:
CIBW_BUILD: ${{ matrix.py }}-*
CIBW_ARCHS_MACOS: ${{ matrix.arch }}
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.py }}
path: ./wheelhouse/*.whl
build_wheels_linux:
name: Build wheels on ${{ matrix.os }} - ${{ matrix.py }} - ${{ matrix.image }}_${{ matrix.arch }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
py: [cp38, cp39, cp310, cp311, cp312]
image: [manylinux, musllinux]
arch: [x86_64, aarch64]
steps:
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: all
- name: Build wheels
uses: pypa/cibuildwheel@v2.18.1
env:
CIBW_BUILD: ${{ matrix.py }}-${{ matrix.image }}_${{ matrix.arch }}
CIBW_ARCHS: all
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ matrix.py }}-${{ matrix.image }}_${{ matrix.arch }}
path: ./wheelhouse/*.whl
merge:
runs-on: ubuntu-latest
needs: [build_wheels_macos, build_wheels_linux]
steps:
- name: Merge Artifacts
uses: actions/upload-artifact/merge@v4
with:
delete-merged: true