Skip to content

Runs all OSs in one matrixed job #28

Runs all OSs in one matrixed job

Runs all OSs in one matrixed job #28

Workflow file for this run

name: Build wheel files
on: [push, pull_request]
jobs:
build_ubuntu_wheels:
name: Build wheels on ${{ matrix.os }} for Python ${{ matrix.pyversions }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-14, macos-13, macos-12]
pyversions: ['3.11', '3.10', '3.9', '3.8', '3.7',]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.pyversions }}
- name: Install pip dependencies
run: |
python -m pip install --upgrade pip
python -m pip install forthon mppl numpy h5py
python -m pip install flake8
python -m pip install pytest-isolate pytest-xdist
pip install 'build<0.10.0'
- name: Symlink gfortran for macOS
if: runner.os == 'macOS'
run: |
# make sure gfortran is available
ln -s /usr/local/bin/gfortran-13 /usr/local/bin/gfortran
gfortran --version
- name: Build wheels
run: python -m build
# - uses: actions/upload-artifact@v4
# with:
# name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}-py${{ matrix.pyversions }}
# path: dist/*.whl
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}-${{ matrix.pyversions }}
path: dist/*.whl
gather_wheels:
needs: build_ubuntu_wheels
name: Gathers built wheels
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
merge-multiple: true