aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNRK <nrk@disroot.org>2022-12-02 11:50:15 +0100
committerBerke Kocaoğlu <kberke@metu.edu.tr>2022-12-02 11:50:15 +0100
commit9cb9a54944e8ad9a42b3113286cb51bceae4b2d0 (patch)
treec2c58c99be71035b5a781c40908b7e9561621c81
parent3804b5065643ff21f0e4974ca8fe7837d55ef597 (diff)
downloadnsxiv-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-xetc/woodpecker/analysis.sh21
-rw-r--r--etc/woodpecker/analysis.yml19
-rw-r--r--etc/woodpecker/clang-tidy-checks1
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