aboutsummaryrefslogtreecommitdiffstats
path: root/.woodpecker/analysis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.woodpecker/analysis.yml')
-rw-r--r--.woodpecker/analysis.yml27
1 files changed, 27 insertions, 0 deletions
diff --git a/.woodpecker/analysis.yml b/.woodpecker/analysis.yml
new file mode 100644
index 0000000..926dbbf
--- /dev/null
+++ b/.woodpecker/analysis.yml
@@ -0,0 +1,27 @@
+pipeline:
+ analysis:
+ image: alpine
+ when:
+ branch: master
+ commands: |
+ apk add --no-cache build-base cppcheck clang-extra-tools \
+ 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) \
+ *.c
+ }
+ run_tidy() {
+ checks="$(sed '/^#/d' .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"