Skip to content

github/ci: adding cibuildwheel as follow-on to standard build #316

github/ci: adding cibuildwheel as follow-on to standard build

github/ci: adding cibuildwheel as follow-on to standard build #316

Workflow file for this run

name: Core C CI
on:
workflow_dispatch:
pull_request:
push:
jobs:
standard:
strategy:
fail-fast: false
matrix:
runs-on: [ubuntu-latest, macos-latest]
name: "💦 ${{ matrix.runs-on }}"
runs-on: ${{ matrix.runs-on }}
steps:
- uses: actions/checkout@v4
- name: setup
if: runner.os == 'macos'
run: |
brew update
brew install autoconf automake
#- name: Setup libfec
# run: git clone https://github.com/jgaeddert/libfec.git && cd libfec && ./configure && make && sudo make install
- name: Setup pybind-dev (Linux)
if: runner.os == 'Linux'
run: sudo apt-get install pybind11-dev
- name: Setup pybind-dev (macOS)
if: runner.os == 'macOS'
run: brew install pybind11
- name: Setup python dependencies (pip)
run: sudo -H python3 -m pip install pybind11 numpy matplotlib
- name: bootstrap
run: ./bootstrap.sh
- name: configure
run: ./configure
- name: make
run: make -j 2
- name: make check-doc
run: make check-doc
- name: make check
run: make -j 2 check
- name: make install
run: sudo make install
- name: ldconfig (Linux)
if: runner.os == 'Linux'
run: sudo ldconfig
- name: make check-link
run: make check-link
build_wheels:
name: Build wheels on ${{ matrix.os }}
needs: standard
runs-on: ${{ matrix.os }}
strategy:
matrix:
# macos-13 is an intel runner, macos-14 is apple silicon
os: [ubuntu-latest, windows-latest, macos-13, macos-14]
steps:
- uses: actions/checkout@v4
- name: Build wheels
uses: pypa/[email protected]
# env:
# CIBW_SOME_OPTION: value
# ...
# with:
# package-dir: .
# output-dir: wheelhouse
# config-file: "{package}/pyproject.toml"
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl