gitlab/ci: reducing matrix for testing on separate operating systems #330
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |