tags:
- docker
-lint:clang-scan-build:
+lint:scan-build:
+ <<: *test
stage: test
- except:
- - master
- dependencies: [] # do not download build artifacts
- script:
- - MAKEFLAGS="-k -j$(nproc)" SCAN_BUILD="scan-build -o scan-results --status-bugs -no-failure-reports" ./tests/clang_scan_build.sh make || true
- - test "$(ls scan-results/*/report-*.html | wc -l)" = 6 # we have this many errors ATM :-)
artifacts:
when: on_failure
expire_in: '1 day'
paths:
- - scan-results
- tags:
- - docker
+ - build_ci*/meson-logs/scanbuild
+ before_script: []
+ script:
+ - export SCANBUILD="scan-build --status-bugs -no-failure-reports $(./scripts/get-scanbuild-args.sh)"
+ - ninja -C build_ci* scan-build || true
+ - test "$(ls build_ci*/meson-logs/scanbuild/*/report-*.html | wc -l)" = 14 # we have this many errors ATM :-)
docker:
stage: test
# alpha.deadcode.UnreachableCode # false positives/flags sanity checks depending on implementation details
# alpha.security.MallocOverflow # not smart enough to infer max values from data types
-${SCAN_BUILD:-scan-build} \
+cat <<-EOF
-disable-checker unix.Malloc \
-enable-checker alpha.core.BoolAssignment \
-enable-checker alpha.core.CallAndMessageUnInitRefArg \
-enable-checker security.FloatLoopCounter \
-enable-checker valist.CopyToSelf \
-enable-checker valist.Uninitialized \
--enable-checker valist.Unterminated \
-make
+-enable-checker valist.Unterminated
+EOF