Skip to content

Build wheels

Build wheels #19

Workflow file for this run

name: Build wheels
on:
workflow_dispatch:
push:
tags:
- v*
schedule:
- cron: '6 6 6/16 * *' # On the 6th and 22nd of each month at 6:06
jobs:
build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04, macos-12, macos-14, windows-2019]
# MacOS<=13 are Intel, while MacOS 14 is Apple Silicon
steps:
- uses: actions/checkout@v4
- uses: fortran-lang/setup-fortran@v1
id: setup-fortran
with:
compiler: 'gcc'
version: '13'
- name: Build wheels
if: matrix.os == 'ubuntu-20.04'
uses: pypa/[email protected]
env:
CIBW_SKIP: "pp* *i686* *musllinux*"
# As of Sept 2024, Python 3.13 is troublesome because of lack of Pandas for Python 3.13.
- name: Build wheels
if: matrix.os == 'macos-12'
uses: pypa/[email protected]
env:
CIBW_SKIP: "pp* cp313*"
CIBW_ENVIRONMENT: MACOSX_DEPLOYMENT_TARGET=12.0
- name: Build wheels
if: matrix.os == 'macos-14'
uses: pypa/[email protected]
env:
CIBW_SKIP: "pp* cp313*"
CIBW_ENVIRONMENT: MACOSX_DEPLOYMENT_TARGET=14.0
- name: Build wheels
if: matrix.os == 'windows-2019'
uses: pypa/[email protected]
env:
CIBW_SKIP: "pp* cp313* *win32*"
CIBW_BEFORE_BUILD_WINDOWS: pip install delvewheel
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: "delvewheel show {wheel} && delvewheel repair -w {dest_dir} {wheel} --no-mangle-all"
# Package the DLL dependencies in the wheel for windows (done by default for the other platforms).
# delvewheel cannot mangle the libraries, stripping does not work.
- uses: actions/upload-artifact@v4
with:
name: wheels-${{ matrix.os }}
path: ./wheelhouse/*.whl