Skip to content

add a sanitizer build #706

add a sanitizer build

add a sanitizer build #706

Workflow file for this run

name: CI Tests
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ci-tests-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-and-test:
name: ${{ matrix.name }}
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
include:
- name: GCC 14
c_compiler: gcc-14
cxx_compiler: g++-14
extra_packages: ""
cxx_flags: ""
- name: Clang 18
c_compiler: clang-18
cxx_compiler: clang++-18
extra_packages: "libomp-18-dev"
cxx_flags: "-Werror"
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
- name: Install build dependencies
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y \
cmake \
ninja-build \
libsuitesparse-dev \
libboost-dev \
${{ matrix.c_compiler }} \
${{ matrix.cxx_compiler }} \
${{ matrix.extra_packages }}
- name: Configure
shell: bash
run: >
cmake -S . -B build -G Ninja
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_C_COMPILER=${{ matrix.c_compiler }}
-DCMAKE_CXX_COMPILER=${{ matrix.cxx_compiler }}
-DCMAKE_CXX_FLAGS=${{ matrix.cxx_flags }}
-DBUILD_TESTING=ON
-DGRIDDYN_BUILD_TESTS=ON
-DGRIDDYN_ENABLE_FMI=OFF
-DGRIDDYN_ENABLE_HELICS_EXECUTABLE=OFF
- name: Build
run: cmake --build build --parallel
- name: Run continuous tests
run: ctest --test-dir build --output-on-failure -L Continuous