Skip to content

Commit

Permalink
ci: use full ASAN
Browse files Browse the repository at this point in the history
Previously we used LD_PRELOAD to add ASAN to our build. This is at best
imperfect, since the full benefits of ASAN can only be realized by
adding compiler instrumentation.

This also makes the job run python, java, and nodejs tests with ASAN.
  • Loading branch information
Riolku committed Oct 18, 2023
1 parent b79718b commit 54e6f06
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions .github/workflows/ci-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,16 +94,17 @@ jobs:
run: npm install --include=dev
working-directory: tools/nodejs_api

- name: Build debug
run: CC=gcc CXX=g++ make alldebug NUM_THREADS=32

- name: Run test with ASan
run: ctest --output-on-failure -j 10
env:
LD_PRELOAD: "/usr/lib/x86_64-linux-gnu/libasan.so.6"
ASAN_OPTIONS: "detect_leaks=1:log_path=/tmp/asan.log"
working-directory: ./build/debug/test
continue-on-error: true
- name: Test with ASAN
run: CC=gcc CXX=g++ make test ASAN=1 NUM_THREADS=32

- name: Python test
run: CC=gcc CXX=g++ make pytest ASAN=1 NUM_THREADS=32

- name: Node.js test
run: CC=gcc CXX=g++ make nodejstest ASAN=1 NUM_THREADS=32

- name: Java test
run: CC=gcc CXX=g++ make javatest ASAN=1 NUM_THREADS=32

- name: Report ASan log
run: |
Expand Down

0 comments on commit 54e6f06

Please sign in to comment.