docs: make comparison with other ODE solvers #306
Workflow file for this run
This file contains hidden or 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: 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 |