diff --git a/.travis.yml b/.travis.yml index e7b96f17c..77156b62f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,6 +18,7 @@ env: - CXXFLAGS="${CXXFLAGS} -DCHECK_INTERNAL" MAKEFLAGS="HAVE_RULES=yes" SRCDIR=build VERIFY=1 - SRCDIR=build CHECK_CLANG=yes VERIFY=1 - SRCDIR=build CHECK_LLVM=yes VERIFY=1 + - CHECK_MAKEFILE_REGEN=true matrix: # do notify immediately about it when a job of a build fails. @@ -28,6 +29,11 @@ matrix: env: SRCDIR=build CHECK_CLANG=yes VERIFY=1 - compiler: gcc env: SRCDIR=build CHECK_LLVM=yes VERIFY=1 + - compiler: gcc + env: CHECK_MAKEFILE_REGEN=true + allow_failures: + - compiler: clang + env: CHECK_MAKEFILE_REGEN=true before_install: # install needed deps @@ -41,6 +47,10 @@ script: - if [[ "$CHECK_CLANG" == "yes" ]] && [[ "$CC" == "clang" ]]; then wget "https://github.com/llvm-mirror/clang/archive/bcaf7f2abe47b0dab055f1a0ec011ed9c2a3d3ea.zip" & make -j 4 & wait; unzip bcaf7f2abe47b0dab055f1a0ec011ed9c2a3d3ea.zip > /dev/null; touch /tmp/clang.cppcheck; cd ./clang-bcaf7f2abe47b0dab055f1a0ec011ed9c2a3d3ea ; ../cppcheck . --max-configs=1 --enable=all --inconclusive --exception-handling --template="{callstack} ({severity}) {message} [{id}]" -iINPUTS -itest/Driver/Inputs/gen-response.c -itest/Index/index-many-logical-ops.c -itest/Sema/many-logical-ops.c -j 2 |& tee /tmp/clang.cppcheck; cd ../ ; echo "CLANG" ; ! grep "process crashed with signal\|Internal error\. compiled" /tmp/clang.cppcheck; exit; fi # check llvm as well - if [[ "$CHECK_LLVM" == "yes" ]] && [[ "$CC" == "clang" ]]; then wget "https://github.com/llvm-mirror/llvm/archive/7733e74e5454d6f18da28c06be917c1e73d12d01.zip" & make -j 4 & wait; unzip 7733e74e5454d6f18da28c06be917c1e73d12d01.zip > /dev/null; touch /tmp/llvm.cppcheck; cd ./llvm-7733e74e5454d6f18da28c06be917c1e73d12d01 ; ../cppcheck . --max-configs=1 --enable=all --inconclusive --exception-handling --template="{callstack} ({severity}) {message} [{id}]" -j 2 |& tee /tmp/llvm.cppcheck; cd ../ ; echo "LLVM" ; ! grep "process crashed with signal\|Internal error\. compiled" /tmp/llvm.cppcheck; exit; fi +# check if dmake needs to be rerun but if yes, don't fail the build but notify us. +# to update dmake: "make dmake; ./dmake; and commit + - echo "If the following commmand fails, run 'make dmake; make run-dmake' and commit the resulting change." + - if [[ "$CHECK_MAKEFILE_REGEN" == "true" ]]; then make -s dmake; make -s run-dmake ; git diff --exit-code; exit; fi # check with TEST_MATHLIB_VALUE enabled - touch lib/mathlib.cpp test/testmathlib.cpp - echo $CXXFLAGS @@ -110,13 +120,6 @@ script: # check addons/misra.py # - ./cppcheck --dump addons/misra-test.c # - python addons/misra.py -verify addons/misra-test.c.dump -# check if Makefile needs to be regenerated - - git clean -dfx - - echo $CXXFLAGS - - make -s dmake - - make -s run-dmake -# now, if dmake modified the makefile, return false! - - git diff --exit-code notifications: irc: