Skip to content

Add building wheels using cibuildwheel #16

Add building wheels using cibuildwheel

Add building wheels using cibuildwheel #16

Workflow file for this run

name: Build wheels
on:
push:
branches:
- master
pull_request:
jobs:
build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
steps:
- name: Setup Flex and Bison
if: runner.os == 'Windows'
run: |
choco install winflexbison3 -y
- name: Setup Flex and Bison
if: runner.os == 'macOS'
run: |
brew install flex bison
- uses: actions/checkout@v4
# Used to host cibuildwheel
- uses: actions/setup-python@v3
- name: Install cibuildwheel
run: python -m pip install cibuildwheel==2.16.5
- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
# to supply options, put them in 'env', like:
env:
CIBW_SKIP: pp*
CIBW_ENVIRONMENT_MACOS: >
PATH="/opt/homebrew/opt/flex/bin:/opt/homebrew/opt/bison/bin:/usr/local/opt/flex/bin:/usr/local/opt/bison/bin:$PATH"
MACOSX_DEPLOYMENT_TARGET='10.15'
CIBW_CONFIG_SETTINGS_MACOS: "build-dir=_build"
CIBW_ENVIRONMENT_LINUX: >
PATH=/nmodlwheel/flex/bin:/nmodlwheel/bison/bin:$PATH
# use custom image for now
CIBW_MANYLINUX_AARCH64_IMAGE: docker.io/jcgoran/nmodl:wheel-aarch64
CIBW_BEFORE_BUILD_LINUX: bash packaging/install_dependencies.sh
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl