diff options
author | NRK <nrk@disroot.org> | 2022-12-02 11:50:15 +0100 |
---|---|---|
committer | Berke Kocaoğlu <kberke@metu.edu.tr> | 2022-12-02 11:50:15 +0100 |
commit | 9cb9a54944e8ad9a42b3113286cb51bceae4b2d0 (patch) | |
tree | c2c58c99be71035b5a781c40908b7e9561621c81 | |
parent | 3804b5065643ff21f0e4974ca8fe7837d55ef597 (diff) | |
download | nsxiv-9cb9a54944e8ad9a42b3113286cb51bceae4b2d0.tar.zst |
[ci]: make it easy to run analysis locally (#395)
allows for developers to more easily run the analysis locally before
opening a pull request if they wish.
also disables a noisy warning (bugprone-assignment-in-if-condition)
producing too many false positives.
Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/395
Reviewed-by: Berke Kocaoğlu <kberke@metu.edu.tr>
Co-authored-by: NRK <nrk@disroot.org>
Co-committed-by: NRK <nrk@disroot.org>
-rwxr-xr-x | etc/woodpecker/analysis.sh | 21 | ||||
-rw-r--r-- | etc/woodpecker/analysis.yml | 19 | ||||
-rw-r--r-- | etc/woodpecker/clang-tidy-checks | 1 |
3 files changed, 23 insertions, 18 deletions
diff --git a/etc/woodpecker/analysis.sh b/etc/woodpecker/analysis.sh new file mode 100755 index 0000000..330d140 --- /dev/null +++ b/etc/woodpecker/analysis.sh @@ -0,0 +1,21 @@ +#!/bin/sh -e + +std="c99" + +run_cppcheck() { + cppcheck --std="$std" --enable=performance,portability \ + --force --quiet --inline-suppr --error-exitcode=1 \ + --max-ctu-depth=8 -j"$(nproc)" \ + $(make OPT_DEP_DEFAULT="$1" dump_cppflags) \ + --suppress=varFuncNullUB --suppress=uninitvar \ + *.c +} + +run_tidy() { + checks="$(sed '/^#/d' etc/woodpecker/clang-tidy-checks | paste -d ',' -s)" + clang-tidy --warnings-as-errors="*" --checks="$checks" --quiet *.c \ + -- -std="$std" $(make OPT_DEP_DEFAULT="$1" dump_cppflags) +} + +run_cppcheck "0"; run_cppcheck "1"; +run_tidy "0"; run_tidy "1"; diff --git a/etc/woodpecker/analysis.yml b/etc/woodpecker/analysis.yml index 35cef7f..65da7aa 100644 --- a/etc/woodpecker/analysis.yml +++ b/etc/woodpecker/analysis.yml @@ -8,21 +8,4 @@ pipeline: imlib2-dev xorgproto \ libxft-dev libexif-dev giflib-dev libwebp-dev >/dev/null make config.h version.h - std="c99" - run_cppcheck() { - cppcheck --std="$std" --enable=performance,portability \ - --force --quiet --inline-suppr --error-exitcode=1 \ - --max-ctu-depth=8 -j"$(nproc)" \ - $(make OPT_DEP_DEFAULT="$1" dump_cppflags) \ - --suppress=varFuncNullUB --suppress=uninitvar \ - *.c - } - run_tidy() { - checks="$(sed '/^#/d' etc/woodpecker/clang-tidy-checks | paste -d ',' -s)" - clang-tidy --warnings-as-errors="*" --checks="$checks" --quiet *.c \ - -- -std="$std" $(make OPT_DEP_DEFAULT="$1" dump_cppflags) - } - run_cppcheck "0" - run_cppcheck "1" - run_tidy "0" - run_tidy "1" + ./etc/woodpecker/analysis.sh diff --git a/etc/woodpecker/clang-tidy-checks b/etc/woodpecker/clang-tidy-checks index 9c016d2..c243f30 100644 --- a/etc/woodpecker/clang-tidy-checks +++ b/etc/woodpecker/clang-tidy-checks @@ -8,6 +8,7 @@ misc-*,android-cloexec-*,cert-*,llvm-include-order -bugprone-easily-swappable-parameters,-bugprone-narrowing-conversions,-bugprone-incorrect-roundings -bugprone-implicit-widening-of-multiplication-result,-bugprone-integer-division -android-cloexec-fopen,-android-cloexec-pipe,-cert-err33-c +-bugprone-assignment-in-if-condition # false positive warnings -clang-analyzer-valist.Uninitialized |