name: CI on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: dependencies run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown - name: autoconf run: ./autogen.sh ; chmod -x INSTALL m4/*.m4 - name: configure run: ./configure - name: make run: make - name: make check run: make check asan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: dependencies run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown - name: autoconf run: ./autogen.sh ; chmod -x INSTALL m4/*.m4 - name: configure run: CXXFLAGS="-fsanitize=address -g -Og" CFLAGS="-fsanitize=address -g -Og" ./configure - name: make run: ASAN_OPTIONS="detect_leaks=0" make - name: make check run: ASAN_OPTIONS="detect_leaks=0" make check lsan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: dependencies run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown - name: autoconf run: ./autogen.sh ; chmod -x INSTALL m4/*.m4 - name: configure run: CXXFLAGS="-fsanitize=leak -g -Og" CFLAGS="-fsanitize=leak -g -Og" ./configure - name: make run: LSAN_OPTIONS=fast_unwind_on_malloc=0 make - name: make check run: LSAN_OPTIONS=fast_unwind_on_malloc=0 make check msan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: dependencies run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown clang - name: autoconf run: ./autogen.sh ; chmod -x INSTALL m4/*.m4 - name: configure run: CXX=clang++ CC=clang CXXFLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 -g -Og" CFLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 -g -Og" ./configure --without-pcaudiolib - name: make run: make - name: make check run: MSAN_OPTIONS=exitcode=42 make check tsan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: dependencies run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown - name: autoconf run: ./autogen.sh ; chmod -x INSTALL m4/*.m4 - name: configure run: CXXFLAGS="-fsanitize=thread -g -Og" CFLAGS="-fsanitize=thread -g -Og" ./configure - name: make run: make - name: make check run: make check usan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: dependencies run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown - name: autoconf run: ./autogen.sh ; chmod -x INSTALL m4/*.m4 - name: configure run: CXXFLAGS="-fsanitize=undefined -g -Og" CFLAGS="-fsanitize=undefined -g -Og" ./configure - name: make run: UBSAN_OPTIONS="halt_on_error=1" make - name: make check run: UBSAN_OPTIONS="halt_on_error=1" make check