diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 43a618b00b7c767591edd5a8adefea26f455289a..a2edb7b85f11f9347a7d285e853ec6189c17c077 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: rikorose/gcc-cmake +image: lycantropos/cmake stages: - build @@ -6,16 +6,19 @@ stages: before_script: - g++ --version + - cat /etc/*-release build: stage: build variables: GIT_SUBMODULE_STRATEGY: normal + GCC_COLORS: "error=31;1:warning=35;1:note=36;1:range1=32:range2=34:locus=39;1:quote=39;1:fixit-insert=32:fixit-delete=31:diff-filename=39;1:diff-hunk=32:diff-delete=31:diff-insert=32:type-diff=32;1" + CLICOLOR_FORCE: 1 script: - - cmake . -DCMAKE_CXX_FLAGS="-Werror" + - cmake . -DCMAKE_CXX_FLAGS="-Werror -fdiagnostics-color=always" - make -j4 - make clean - - cmake . -DCMAKE_CXX_FLAGS="-Wall -Wextra" # Build again, but with more warnings + - cmake . -DCMAKE_CXX_FLAGS="-Wall -Wextra -fdiagnostics-color=always" # Build again, but with more warnings - make -j4 tests: @@ -38,7 +41,7 @@ cppcheck: - apt-get update -qq && apt-get install -y -qq cppcheck - cppcheck --version script: - - bash -x ci/cppcheck.sh + - ci/cppcheck.sh vera: stage: build @@ -47,12 +50,16 @@ vera: - vera++ --version - cp ci/vera.profile /usr/lib/vera++/profiles/custom script: - - bash -x ci/vera.sh + - ci/vera.sh clang-tidy: stage: build + variables: + GIT_SUBMODULE_STRATEGY: normal + TERM: xterm-color before_script: - - apt-get update -qq && apt-get install -y -qq clang-tidy-4.0 - - clang-tidy-4.0 --version + - echo deb http://deb.debian.org/debian sid main > /etc/apt/sources.list + - apt-get update -qq && apt-get -t sid install -y -qq clang-tidy-7 + - clang-tidy-7 --version script: - - bash -x ci/clang-tidy.sh + - script -c "bash -x ci/clang-tidy.sh" diff --git a/ci/.clang-tidy b/ci/.clang-tidy index 6114218612a520f187515cdc7631f09629fa8b84..79406a31501a0c54cd823f6aa9f9d5f56d9d0715 100644 --- a/ci/.clang-tidy +++ b/ci/.clang-tidy @@ -1,9 +1,10 @@ --- Checks: > - clang-diagnostic-*, + -clang-diagnostic-error, clang-analyzer-*, bugprone-*, - cppcoreguidelines-*,-cppcoreguidelines-no-malloc,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-cppcoreguidelines-pro-bounds-pointer-arithmetic,-cppcoreguidelines-pro-type-reinterpret-cast,-cppcoreguidelines-pro-bounds-constant-array-index, + cert-*, + cppcoreguidelines-*,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-cppcoreguidelines-pro-bounds-pointer-arithmetic,-cppcoreguidelines-pro-type-reinterpret-cast,-cppcoreguidelines-pro-bounds-constant-array-index, misc-*,-misc-non-private-member-variables-in-classes, fuchsia-multiple-inheritance, google-*,-google-readability-todo, @@ -17,8 +18,9 @@ Checks: > -misc-non-private-member-variables-in-classes, performance-*, readability-*, -WarningsAsErrors: '*,-misc-unused-parameters,-llvm-header-guard,-cppcoreguidelines-pro-type-member-init,-google-runtime-references,-clang-diagnostic-tautological-constant-out-of-range-compare,-readability-redundant-declaration' -HeaderFilterRegex: '.*' + zircon-* +WarningsAsErrors: '*,-misc-unused-parameters,-llvm-header-guard,-cppcoreguidelines-pro-type-member-init,-google-runtime-references,-clang-diagnostic-tautological-constant-out-of-range-compare,-readability-redundant-declaration,-modernize-use-equals-default,-fuchsia-statically-constructed-objects,-hicpp-signed-bitwise,-cert-err58-cpp' +HeaderFilterRegex: 'ecss-services\/((?!lib\/).)*$' AnalyzeTemporaryDtors: false ... diff --git a/ci/clang-tidy.sh b/ci/clang-tidy.sh index 1e676ce2d6926d700576c3a0fe69bad656c16389..bdff8166981a4312ab0a2c28423a5359af80ad59 100755 --- a/ci/clang-tidy.sh +++ b/ci/clang-tidy.sh @@ -10,5 +10,6 @@ echo -e "\033[0;34mRunning clang-tidy...\033[0m" cd "$(dirname "$0")" -clang-tidy-4.0 `find ../src/ -type f -regextype posix-egrep -regex '.*\.(cpp|hpp|c|h)'` \ - -extra-arg=-fcolor-diagnostics -- -std=c++14 -I../inc +clang-tidy-7 `find ../src/ -type f -regextype posix-egrep -regex '.*\.(cpp|hpp|c|h)'` \ + -extra-arg=-fcolor-diagnostics -- -std=c++17 -I../inc \ + -I/usr/include/c++/7/ -I/usr/include/x86_64-linux-gnu/c++/7 -I../lib/etl/include