]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Add a workflow for clang and gcc static analysis
authorGabriel A. Devenyi <gdevenyi@gmail.com>
Mon, 25 May 2020 03:53:57 +0000 (23:53 -0400)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Mon, 8 Jun 2020 12:53:51 +0000 (14:53 +0200)
.github/workflows/analyze.yml [new file with mode: 0644]

diff --git a/.github/workflows/analyze.yml b/.github/workflows/analyze.yml
new file mode 100644 (file)
index 0000000..38f59d7
--- /dev/null
@@ -0,0 +1,39 @@
+name: CI Static Analysis
+on: [push, pull_request]
+jobs:
+  GCC-10:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v1
+    - name: Install packages (Ubuntu)
+      run: |
+        sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
+        sudo apt-get update
+        sudo apt-get install -y gcc-10
+    - name: Generate project files
+      run: |
+        cmake . -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DWITH_GZFILEOP=ON -DWITH_FUZZERS=OFF -DWITH_CODE_COVERAGE=OFF -DWITH_MAINTAINER_WARNINGS=OFF
+      env:
+        CC: gcc-10
+        CFLAGS: "-fanalyzer -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
+  Clang-11:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v1
+    - name: Install packages (Ubuntu)
+      run: |
+        wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
+        sudo apt-add-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic main" -y
+        sudo apt install clang-tools-11 -y
+    - name: Generate project files
+      run: |
+        scan-build-11 --status-bugs cmake . -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DWITH_GZFILEOP=ON -DWITH_FUZZERS=OFF -DWITH_CODE_COVERAGE=OFF -DWITH_MAINTAINER_WARNINGS=OFF
+      env:
+        CI: true
+    - name: Compile source code
+      run: |
+        scan-build-11 --status-bugs cmake --build . --config Release > /dev/null