Skip to content

Implementing hierarchical distributor #230

Implementing hierarchical distributor

Implementing hierarchical distributor #230

Workflow file for this run

# SPDX-FileCopyrightText: 2025 QDX Technologies. Authored by Ryan Stocks <ryan.stocks00@gmail.com>
# SPDX-License-Identifier: Apache-2.0
---
name: Sanitizers
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
env:
CMAKE_CXX_STANDARD: 20
CMAKE_VERBOSE_MAKEFILE: ON
jobs:
linux-debug-sanitizers:
runs-on: ubuntu-latest
timeout-minutes: 5
strategy:
matrix:
sanitizer: [address, undefined]
steps:
- uses: actions/checkout@v4
- name: Install GCC and OpenMPI
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y g++-14 libopenmpi-dev openmpi-bin
echo "MPI_TYPE=OpenMPI" >> $GITHUB_ENV
- name: Configure CMake with ${{ matrix.sanitizer }} sanitizer
shell: bash
run: |
cmake -B build \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_C_COMPILER=gcc-14 \
-DCMAKE_CXX_COMPILER=g++-14 \
-DDYNAMPI_BUILD_TESTS=ON \
-DDYNAMPI_BUILD_BENCHMARKS=ON \
-DDYNAMPI_MAX_MPI_RANK=8 \
-DCMAKE_CXX_FLAGS="-fsanitize=${{ matrix.sanitizer }} -fno-omit-frame-pointer" \
-DCMAKE_C_FLAGS="-fsanitize=${{ matrix.sanitizer }} -fno-omit-frame-pointer" \
-DCMAKE_EXE_LINKER_FLAGS="-fsanitize=${{ matrix.sanitizer }}" \
-DCMAKE_MODULE_LINKER_FLAGS="-fsanitize=${{ matrix.sanitizer }}"
- name: Build with ${{ matrix.sanitizer }} sanitizer
shell: bash
run: cmake --build build --config Debug --parallel
- name: Test with ${{ matrix.sanitizer }} sanitizer
shell: bash
run: |
cd build
echo "Testing with $MPI_TYPE and ${{ matrix.sanitizer }} sanitizer"
export LSAN_OPTIONS=suppressions=${{ github.workspace }}/test/lsan.supp
export DYNAMPI_MAX_MPI_RANK=8
ctest --output-on-failure --verbose -C Debug