-
Sebastian Schmitt authored
* Run examples via scripts (closes #1566)
Unverified40aaa4a4
sanitize.yml 1.39 KiB
name: Sanitize
on:
pull_request:
branches: [ master ]
jobs:
build:
name: "Sanitize"
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
name: ["Sanitize"]
sanitizer: ["address", "undefined", "thread"]
simd: ["ON", "OFF"]
env:
CC: clang-10
CXX: clang++-10
ASAN_OPTIONS: detect_leaks=1
steps:
- name: Set up cmake
uses: jwlawson/actions-setup-cmake@v1.7
with:
cmake-version: 3.19.x
- name: Clone w/ submodules
uses: actions/checkout@v2
with:
submodules: recursive
- name: Build arbor
run: |
mkdir build
cd build
export SAN="-fsanitize=${{ matrix.sanitizer }} -fno-omit-frame-pointer"
cmake .. -DCMAKE_BUILD_TYPE=debug -DCMAKE_CXX_FLAGS="$SAN" -DCMAKE_C_FLAGS="$SAN" -DCMAKE_EXE_LINKER_FLAGS="$SAN" -DCMAKE_MODULE_LINKER_FLAGS="$SAN" -DCMAKE_CXX_COMPILER=$CXX -DCMAKE_C_COMPILER=$CC -DARB_VECTORIZE=${{ matrix.simd }} -DARB_WITH_MPI=OFF -DARB_USE_BUNDLED_LIBS=ON -DARB_WITH_PYTHON=ON -DPython3_EXECUTABLE=`which python`
make -j4 VERBOSE=1 tests examples pyarb
cd -
- name: Run unit tests
run: |
build/bin/unit --gtest_filter=-*DeathTest
build/bin/unit-modcc
- name: Run examples
run: scripts/run_cpp_examples.sh