Skip to content

Move Catch enum-to-string converters to tests #2586

Move Catch enum-to-string converters to tests

Move Catch enum-to-string converters to tests #2586

Workflow file for this run

name: Sanitizers
on: [pull_request, push]
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
build:
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
include:
# FIXME: Asan started segfaulting randomly with no source changes
#- name: asan
# cmake-flags: -DCMAKE_BUILD_TYPE=Asan -DBUILD_PYTHON=OFF
# ctest-env:
# tsan takes a long time, and we don't currently use threading
#- name: tsan
# cmake-flags: -DCMAKE_BUILD_TYPE=Tsan -DBUILD_PYTHON=OFF
# ctest-env: TSAN_OPTIONS=second_deadlock_stack=1
- name: ubsan
cmake-flags: -DCMAKE_BUILD_TYPE=Ubsan -DBUILD_PYTHON=OFF
ctest-env:
name: "${{ matrix.name }}"
runs-on: ubuntu-latest
container: wpilib/roborio-cross-ubuntu:2024-22.04
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y clang-14
- name: Configure
run: cmake -B build -S . -DCMAKE_C_COMPILER:FILEPATH=/usr/bin/clang-14 -DCMAKE_CXX_COMPILER:FILEPATH=/usr/bin/clang++-14 ${{ matrix.cmake-flags }} -DBUILD_EXAMPLES=ON
- name: Build
run: cmake --build build --target all --config RelWithDebInfo --parallel $(nproc)
- name: Test
working-directory: build
run: ${{ matrix.ctest-env }} ctest -C RelWithDebInfo --output-on-failure