• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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