Skip to content

Add LeakSanitizer to CI (#195) #574

Add LeakSanitizer to CI (#195)

Add LeakSanitizer to CI (#195) #574

Workflow file for this run

name: build
on: [push, pull_request]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
jobs:
# macos:
# name: macos / clang
# runs-on: macos-10.15
# env:
# CC: clang
# steps:
# - uses: actions/checkout@v2
# - name: Prepare1
# run: brew install gcc glib google-perftools libomp
# - name: Prepare2
# run: bash scripts/setup.sh
# - name: Configure CMake
# run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
# - name: build
# run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
# - name: Run
# continue-on-error: true
# run: make test
ubuntu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Prepare
run: bash scripts/install_dependency.sh
- name: Configure CMake with LSan
run: |
cmake -B ${{github.workspace}}/build \
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
-DCMAKE_C_FLAGS="-fsanitize=leak" \
-DCMAKE_CXX_FLAGS="-fsanitize=leak"
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Test with LSan
working-directory: ${{github.workspace}}/build
run: |
export ASAN_OPTIONS="detect_leaks=1:halt_on_error=1:verbosity=1"
ctest -C ${{env.BUILD_TYPE}} --output-on-failure
selfhosted:
runs-on: self-hosted
steps:
- uses: actions/checkout@v2
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DENABLE_GLCACHE=on -DENABLE_LRB=on
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest -C ${{env.BUILD_TYPE}} -j