strategy:
matrix:
config:
- - {
- name: "Ubuntu 20.04 GCC",
- os: ubuntu-20.04,
- compiler: g++,
- comp: gcc,
- shell: 'bash {0}'
- }
+ - name: Ubuntu 22.04 GCC
+ os: ubuntu-22.04
+ compiler: g++
+ comp: gcc
+ shell: bash
sanitizers:
- - {
- name: Run with thread sanitizer,
- make_option: sanitize=thread,
- instrumented_option: sanitizer-thread
- }
- - {
- name: Run with UB sanitizer,
- make_option: sanitize=undefined,
- instrumented_option: sanitizer-undefined
- }
- - {
- name: Run under valgrind,
- make_option: "",
- instrumented_option: valgrind
- }
- - {
- name: Run under valgrind-thread,
- make_option: "",
- instrumented_option: valgrind-thread
- }
+ - name: Run with thread sanitizer
+ make_option: sanitize=thread
+ instrumented_option: sanitizer-thread
+ - name: Run with UB sanitizer
+ make_option: sanitize=undefined
+ instrumented_option: sanitizer-undefined
+ - name: Run under valgrind
+ make_option: ""
+ instrumented_option: valgrind
+ - name: Run under valgrind-thread
+ make_option: ""
+ instrumented_option: valgrind-thread
defaults:
run:
working-directory: src
shell: ${{ matrix.config.shell }}
steps:
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
- name: Download required linux packages
run: |
run: |
export CXXFLAGS="-O1 -fno-inline"
make clean
- make -j2 ARCH=x86-64-modern ${{ matrix.sanitizers.make_option }} debug=yes optimize=no build > /dev/null
+ make -j2 ARCH=x86-64-sse41-popcnt ${{ matrix.sanitizers.make_option }} debug=yes optimize=no build > /dev/null
../tests/instrumented.sh --${{ matrix.sanitizers.instrumented_option }}