From ed54947d677f17ec202908b40169f52f5e5a429f Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Fri, 1 Jan 2021 00:21:58 +0530 Subject: [PATCH] CI: Add scan-build Run scan-build (clang-tools based) static analyzer on all build variants. Use specific versions of the OSes as the default ones in travis are old and unsuitable to install packages. --- .travis.yml | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4e51ee2d..54a0da40 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,14 +1,39 @@ language: cpp + +addons: + apt: + packages: + # Need for scan-build + - clang-tools + homebrew: + taps: mgrebenets/scan-build + packages: + - scan-build matrix: include: - os: linux + dist: bionic compiler: gcc - os: linux + dist: bionic + compiler: clang + - os: linux + dist: focal + compiler: gcc + - os: linux + dist: focal compiler: clang - os: osx + osx_image: xcode12.2 + +# See https://stackoverflow.com/a/26185979/2335781 and +# https://discourse.brew.sh/t/solved-scan-build-from-llvm-7-0-seems-broken-on-macos-mojave/3151/11 +before_script: + - if [ "$TRAVIS_OS_NAME" = "osx" ]; then sudo xcode-select --switch /Library/Developer/CommandLineTools/ ; fi + script: -- make -C tests EXTRA_CFLAGS="-W -Wall -Wextra" -- make -C tests clean ; make -C tests pedantic -- make -C tests clean ; make -C tests pedantic EXTRA_CFLAGS=-DNO_DECLTYPE -- make -C tests clean ; make -C tests cplusplus -- make -C tests clean ; make -C tests cplusplus EXTRA_CFLAGS=-DNO_DECLTYPE +- scan-build make -C tests EXTRA_CFLAGS="-W -Wall -Wextra" +- make -C tests clean ; scan-build make -C tests pedantic +- make -C tests clean ; scan-build make -C tests pedantic EXTRA_CFLAGS=-DNO_DECLTYPE +- make -C tests clean ; scan-build make -C tests cplusplus +- make -C tests clean ; scan-build make -C tests cplusplus EXTRA_CFLAGS=-DNO_DECLTYPE