Skip to content

Test on ubuntu noble #11

Test on ubuntu noble

Test on ubuntu noble #11

name: test-cells-ubuntu
on:
workflow_dispatch:
pull_request:
branches:
- "**"
jobs:
test-cells-ubuntu:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ["ubuntu-22.04", "ubuntu-24.04"]
concurrency:
group: test-cells-ubuntu-${{ github.ref }}-${{ matrix.os }}
cancel-in-progress: true
defaults:
run:
shell: bash -el {0} # -l needed to activate pipx
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install system dependencies
run: |
sudo apt-get update
for vtk_ver in $(seq 7 9); do
available=1
dpkg -s "libvtk${vtk_ver}-dev" || available=0
if [ "${available}" -eq 1 ]; then
break
fi
done
echo "VTK version: ${vtk_ver}"
sudo apt-get install \
cmake \
git \
libboost-all-dev \
libpetsc-real-dev \
libvtk${vtk_ver}-dev \
mpi-default-bin \
mpi-default-dev
petsc_ver=$(dpkg-query -W -f='${Version}' libpetsc-real-dev | grep -oE '^[0-9]+\.[0-9]+')
echo "PETSc version: ${petsc_ver}"
sudo apt-get install \
pipx \
python3-mpi4py \
python3-petsc4py-real${petsc_ver} \
python3-pip \
python3-vtk${vtk_ver}
pipx ensurepath
- name: Install cppwg
run: pipx install .
- name: Configure
run: |
mkdir build && cd build
cmake ..
working-directory: examples/cells
- name: Regenerate wrappers
run: |
rm -rf dynamic/wrappers
cd build
make pycells_wrappers
working-directory: examples/cells
- name: Check for changes
run: |
git diff --exit-code dynamic/wrappers
grep "Unknown class" build/cppwg.log
working-directory: examples/cells
- name: Build
run: PIP_BREAK_SYSTEM_PACKAGES=1 python3 -m pip install --user -v .
working-directory: examples/cells
- name: Test
run: python3 -m unittest discover tests
working-directory: examples/cells