zeniba-nsxiv/.woodpecker/analysis.yml
NRK 6d8ec5aee3 [ci]: fix failure (#348)
* install unversioned `llvm` so that it pulls the latest one.
* disable `uninitvar` check on cppcheck as it catches some false positives and
  gcc/clang/clang-tidy are good at catching uninitialized variables already.

Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/348
Reviewed-by: explosion-mental <explosion-mental@noreply.codeberg.org>
2022-07-29 03:37:40 +02:00

29 lines
958 B
YAML

branches: master
pipeline:
analysis:
image: alpine
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) \
--suppress=varFuncNullUB --suppress=uninitvar \
*.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"