summaryrefslogtreecommitdiff
path: root/.github/workflows/analyze.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/analyze.yml')
-rw-r--r--.github/workflows/analyze.yml62
1 files changed, 48 insertions, 14 deletions
diff --git a/.github/workflows/analyze.yml b/.github/workflows/analyze.yml
index d9d2555..cbdea0e 100644
--- a/.github/workflows/analyze.yml
+++ b/.github/workflows/analyze.yml
@@ -1,44 +1,78 @@
-name: CI Static Analysis
+name: Static Analysis
on: [push, pull_request]
jobs:
- GCC:
+ static-analysis:
+ name: GCC
runs-on: ubuntu-latest
steps:
- name: Checkout repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
- - name: Install packages (Ubuntu)
+ - name: Add ubuntu mirrors
run: |
- sudo apt-get install -y gcc-10
+ # Github Actions caching proxy is at times unreliable
+ echo -e 'http://azure.archive.ubuntu.com/ubuntu\tpriority:1\n' | sudo tee /etc/apt/mirrors.txt
+ curl http://mirrors.ubuntu.com/mirrors.txt | sudo tee --append /etc/apt/mirrors.txt
+ sudo sed -i 's#http://azure.archive.ubuntu.com/ubuntu/#mirror+file:/etc/apt/mirrors.txt#' /etc/apt/sources.list
+
+ - name: Install packages (Ubuntu)
+ run: sudo apt-get install -y gcc-10
- name: Generate project files
run: |
- cmake . -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DWITH_FUZZERS=OFF -DWITH_CODE_COVERAGE=OFF -DWITH_MAINTAINER_WARNINGS=OFF
+ cmake . \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DBUILD_SHARED_LIBS=OFF \
+ -DWITH_FUZZERS=OFF \
+ -DWITH_CODE_COVERAGE=OFF \
+ -DWITH_MAINTAINER_WARNINGS=OFF
env:
CC: gcc-10
- 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"
+ 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
CI: true
- name: Compile source code
- run: |
- cmake --build . --config Release > /dev/null
+ run: cmake --build . -j2 --config Release > /dev/null
Clang:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
- name: Install packages (Ubuntu)
- run: |
- sudo apt-get install clang-tools -y
+ run: sudo apt-get install -y clang-tools
- name: Generate project files
run: |
- scan-build --status-bugs cmake . -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DWITH_FUZZERS=OFF -DWITH_CODE_COVERAGE=OFF -DWITH_MAINTAINER_WARNINGS=OFF
+ scan-build --status-bugs \
+ cmake . \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DBUILD_SHARED_LIBS=OFF \
+ -DWITH_FUZZERS=OFF \
+ -DWITH_CODE_COVERAGE=OFF \
+ -DWITH_MAINTAINER_WARNINGS=OFF
env:
CI: true
- name: Compile source code
run: |
- scan-build --status-bugs cmake --build . --config Release > /dev/null
+ scan-build --status-bugs \
+ cmake --build . -j2 --config Release > /dev/null