name: C/C++ Sanitizer on: push: branches: [ master ] pull_request: branches: [ master ] permissions: contents: read # to fetch code (actions/checkout) jobs: job1: name: adress-sanitizer runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: lukka/get-cmake@latest - uses: lukka/set-shell-env@v1 with: CXX: clang++ CC: clang - name: configure and build uses: lukka/run-cmake@v3 with: cmakeListsOrSettingsJson: CMakeListsTxtAdvanced cmakeListsTxtPath: '${{ github.workspace }}/CMakeLists.txt' cmakeAppendedArgs: '-GNinja -DCMAKE_BUILD_TYPE=Debug -DASSIMP_ASAN=ON' buildWithCMakeArgs: '-- -v' buildDirectory: '${{ github.workspace }}/build/' - name: test run: cd build/bin && ./unit shell: bash job2: name: undefined-behavior-sanitizer runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: lukka/get-cmake@latest - uses: lukka/set-shell-env@v1 with: CXX: clang++ CC: clang - name: configure and build uses: lukka/run-cmake@v2 with: cmakeListsOrSettingsJson: CMakeListsTxtAdvanced cmakeListsTxtPath: '${{ github.workspace }}/CMakeLists.txt' cmakeAppendedArgs: '-GNinja -DCMAKE_BUILD_TYPE=Debug -DASSIMP_UBSAN=ON' buildWithCMakeArgs: '-- -v' buildDirectory: '${{ github.workspace }}/build/' - name: test run: cd build/bin && ./unit shell: bash job3: name: printf-sanitizer runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: run scan_printf script run: ./scripts/scan_printf.sh shell: bash