Skip to content

gitlab/ci: reducing matrix for testing on separate operating systems #330

gitlab/ci: reducing matrix for testing on separate operating systems

gitlab/ci: reducing matrix for testing on separate operating systems #330

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 environment (macOS)
if: runner.os == 'macos'
run: |
brew update
brew install autoconf automake pybind11 virtualenv
- name: Setup environment (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get install -y --no-install-recommends build-essential pybind11-dev virtualenv python3-dev
#- name: Setup libfec
# run: git clone https://github.com/jgaeddert/libfec.git && cd libfec && ./configure && make && sudo make install
- name: Build and test
run: |
virtualenv env/liquid
source env/liquid/bin/activate
python -m pip install pybind11 numpy matplotlib
mkdir build
cd build
cmake ..
make
#make install
#ldconfig
./xautotest -v -o autotest.json
#make check-link
#make doc-check
#make bench
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]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
- name: Build wheels
uses: pypa/cibuildwheel@v2.19.2
# 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