1name: CI Static Analysis 2on: [push, pull_request] 3jobs: 4 GCC: 5 runs-on: ubuntu-latest 6 steps: 7 - name: Checkout repository 8 uses: actions/checkout@v2 9 10 - name: Install packages (Ubuntu) 11 run: | 12 sudo apt-get install -y gcc-10 13 14 - name: Generate project files 15 run: | 16 cmake . -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DWITH_FUZZERS=OFF -DWITH_CODE_COVERAGE=OFF -DWITH_MAINTAINER_WARNINGS=OFF 17 env: 18 CC: gcc-10 19 CFLAGS: "-fanalyzer -Werror -Wanalyzer-double-fclose -Wanalyzer-double-free -Wanalyzer-exposure-through-output-file -Wanalyzer-file-leak -Wanalyzer-free-of-non-heap -Wanalyzer-malloc-leak -Wanalyzer-null-argument -Wanalyzer-null-dereference -Wanalyzer-possible-null-argument -Wanalyzer-possible-null-dereference -Wanalyzer-stale-setjmp-buffer -Wanalyzer-tainted-array-index -Wanalyzer-unsafe-call-within-signal-handler -Wanalyzer-use-after-free -Wanalyzer-use-of-pointer-in-stale-stack-frame" 20 CI: true 21 22 - name: Compile source code 23 run: | 24 cmake --build . --config Release > /dev/null 25 26 Clang: 27 runs-on: ubuntu-latest 28 steps: 29 - name: Checkout repository 30 uses: actions/checkout@v2 31 32 - name: Install packages (Ubuntu) 33 run: | 34 sudo apt-get install clang-tools -y 35 36 - name: Generate project files 37 run: | 38 scan-build --status-bugs cmake . -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DWITH_FUZZERS=OFF -DWITH_CODE_COVERAGE=OFF -DWITH_MAINTAINER_WARNINGS=OFF 39 env: 40 CI: true 41 42 - name: Compile source code 43 run: | 44 scan-build --status-bugs cmake --build . --config Release > /dev/null 45