From: Gabriel A. Devenyi Date: Mon, 25 May 2020 03:53:57 +0000 (-0400) Subject: Add a workflow for clang and gcc static analysis X-Git-Tag: 1.9.9-b1~242 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e5ce889430a699e96f9acca5a86014fab4bb1711;p=thirdparty%2Fzlib-ng.git Add a workflow for clang and gcc static analysis --- diff --git a/.github/workflows/analyze.yml b/.github/workflows/analyze.yml new file mode 100644 index 000000000..38f59d7ee --- /dev/null +++ b/.github/workflows/analyze.yml @@ -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