Skip to content

docs: make comparison with other ODE solvers #306

docs: make comparison with other ODE solvers

docs: make comparison with other ODE solvers #306

Workflow file for this run

name: ponio CI
on: [pull_request]
jobs:
# run hooks
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- uses: pre-commit/[email protected]
# run cppcheck
cppcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Cache
uses: actions/cache@v4
with:
path: |
~/.cache/ccache
key: cppcheck
- uses: prefix-dev/[email protected]
with:
pixi-version: v0.26.1
cache: true
- name: Install Cppcheck
run: pixi add cppcheck cxx-compiler
- name: Configure
run: pixi run build_debug
- name: Run Cppcheck on ponio
run: pixi run cppcheck
- name: Print result
shell: pixi run bash {0}
run: |
if [[ -s cppcheck_err.txt ]]; then
cat cppcheck_err.txt
exit -1
fi
# check compilation on gcc and clang compiler
compiler-check:
needs: [pre-commit, cppcheck]
runs-on: ubuntu-latest
strategy:
matrix:
include:
- cpp-version: gcc-10
package: "gcc-10 g++-10"
cc: "gcc-10"
cxx: "g++-10"
- cpp-version: gcc-11
package: "gcc-11 g++-11"
cc: "gcc-11"
cxx: "g++-11"
- cpp-version: gcc-12
package: "gcc-12 g++-12"
cc: "gcc-12"
cxx: "g++-12"
- cpp-version: gcc-13
package: "gcc-13 g++-13"
cc: "gcc-13"
cxx: "g++-13"
- cpp-version: gcc-14
package: "gcc-14 g++-14"
cc: "gcc-14"
cxx: "g++-14"
- cpp-version: clang-14
package: "clang-14"
cc: "clang-14"
cxx: "clang++-14"
- cpp-version: clang-15
package: "clang-15"
cc: "clang-15"
cxx: "clang++-15"
- cpp-version: clang-16
package: "clang-16"
cc: "clang-16"
cxx: "clang++-16"
- cpp-version: clang-17
package: "clang-17"
cc: "clang-17"
cxx: "clang++-17"
- cpp-version: clang-18
package: "clang-18"
cc: "clang-18"
cxx: "clang++-18"
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
steps:
- uses: actions/checkout@v4
- name: Remove GCC from runner image
shell: bash
run: |
sudo rm -f /etc/apt/sources.list.d/ubuntu-toolchain-r-ubuntu-test-noble.list
sudo apt-get update
sudo apt-get install -y --allow-downgrades libc6=2.39-0ubuntu8.4 libc6-dev=2.39-0ubuntu8.4 libstdc++6=14.2.0-4ubuntu2~24.04 libgcc-s1=14.2.0-4ubuntu2~24.04
- name: install compiler
run: |
sudo apt update
sudo apt install ${{ matrix.package }}
- uses: prefix-dev/[email protected]
with:
pixi-version: v0.26.1
cache: true
- name: Build
shell: pixi run bash {0}
run: |
export LDFLAGS="${LDFLAGS} -L$CONDA_PREFIX/lib"
pixi run build_test
- name: Run tests
shell: pixi run bash {0}
run: |
export LD_LIBRARY_PATH="$CONDA_PREFIX/lib:$LD_LIBRARY_PATH"
pixi run test
- name: Execute notebooks
run: pixi run nbval
# check compilation on multi-os
multi-os-check:
needs: [pre-commit, cppcheck]
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- windows-2022
- ubuntu-22.04
- macos-13
steps:
- uses: actions/checkout@v4
- uses: prefix-dev/[email protected]
with:
pixi-version: v0.26.1
cache: true
- name: Windows - Setup C++
if: runner.os == 'Windows'
uses: aminya/setup-cpp@v1
with:
compiler: msvc
vcvarsall: true
cmake: true
ninja: true
vcpkg: true
ccache: false
clangtidy: false
task: false
cppcheck: false
gcovr: false
opencppcoverage: false
- name: Install compiler and Python
run: pixi add cxx-compiler python
- name: Build
run: pixi run build_test
- name: Run tests
run: pixi run test