diff --git a/.travis.yml b/.travis.yml index 9f3ece1d07b..9d1decf19d2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ jobs: include: - &formatting-stage - stage: Linter + Doxygen + non-debug Ubuntu/gcc-5 test + stage: Linter + Doxygen + non-debug builds env: NAME="clang-format" addons: apt: @@ -32,20 +32,20 @@ jobs: before_cache: - &linter-stage - stage: Linter + Doxygen + non-debug Ubuntu/gcc-5 test + stage: Linter + Doxygen + non-debug builds env: NAME="CPP-LINT" install: script: scripts/travis_lint.sh before_cache: - &string-table-check - stage: Linter + Doxygen + non-debug Ubuntu/gcc-5 test + stage: Linter + Doxygen + non-debug builds env: NAME="string-table" install: script: scripts/string_table_check.sh before_cache: - - stage: Linter + Doxygen + non-debug Ubuntu/gcc-5 test + - stage: Linter + Doxygen + non-debug builds env: NAME: "DOXYGEN-CHECK" DOXYGEN_VERSION: "1.8.14" @@ -87,7 +87,7 @@ jobs: - scripts/publish_doc.sh # Ubuntu Linux with glibc using g++-5 - - stage: Linter + Doxygen + non-debug Ubuntu/gcc-5 test + - stage: Linter + Doxygen + non-debug builds os: linux sudo: false compiler: gcc @@ -100,14 +100,104 @@ jobs: - libwww-perl - g++-5 - libubsan0 - - parallel - - libc6-dev-i386 + # env: COMPILER=g++-5 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover -fno-omit-frame-pointer" + env: + - COMPILER="ccache /usr/bin/g++-5" + - EXTRA_CXXFLAGS="-D_GLIBCXX_DEBUG" + script: echo "Tests are run in the next stage." + + # cmake build using g++-5 + - stage: Linter + Doxygen + non-debug builds + os: linux + compiler: gcc + cache: ccache + env: + - BUILD_SYSTEM=cmake + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-5 + install: + - ccache -z + - ccache --max-size=1G + - cmake -H. -Bbuild '-DCMAKE_BUILD_TYPE=Release' '-DCMAKE_CXX_COMPILER=/usr/bin/g++-5' + - cmake --build build -- -j4 + script: echo "Tests are run in the next stage." + + # OS X using clang++ + - stage: Linter + Doxygen + non-debug builds + os: osx + sudo: false + compiler: clang + cache: ccache before_install: - - mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc + - HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache parallel + - export PATH=$PATH:/usr/local/opt/ccache/libexec + env: COMPILER="ccache clang++" + script: echo "Tests are run in the next stage." + + # Ubuntu Linux with glibc using clang++-3.7, no-debug mode + - stage: Linter + Doxygen + non-debug builds + os: linux + sudo: false + compiler: clang + cache: ccache + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.7 + packages: + - libwww-perl + - clang-3.7 + - libstdc++-5-dev + - libubsan0 + before_install: + # env: COMPILER=clang++-3.7 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover=undefined,integer -fno-omit-frame-pointer" + env: + - COMPILER="ccache /usr/bin/clang++-3.7" + - EXTRA_CXXFLAGS="-Qunused-arguments -fcolor-diagnostics -DNDEBUG" + - CCACHE_CPP2=yes + script: echo "Tests are run in the next stage." + + # Ubuntu Linux with glibc using g++-5 + - stage: Linter + Doxygen + non-debug builds + os: linux + sudo: false + compiler: gcc + cache: ccache + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libwww-perl + - g++-5 + - libubsan0 # env: COMPILER=g++-5 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover -fno-omit-frame-pointer" env: - COMPILER="ccache /usr/bin/g++-5" - EXTRA_CXXFLAGS="-D_GLIBCXX_DEBUG" + script: echo "Tests are run in the next stage." + + - stage: Linter + Doxygen + non-debug builds + os: osx + compiler: clang + cache: ccache + before_install: + - HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache + - export PATH=$PATH:/usr/local/opt/ccache/libexec + env: + - BUILD_SYSTEM=cmake + - CCACHE_CPP2=yes + install: + - ccache -z + - ccache --max-size=1G + - cmake -H. -Bbuild '-DCMAKE_BUILD_TYPE=Release' '-DCMAKE_OSX_ARCHITECTURES=x86_64' + - cmake --build build -- -j4 + script: echo "Tests are run in the next stage." # OS X using clang++ - stage: Test different OS/CXX/Flags @@ -134,11 +224,9 @@ jobs: - libwww-perl - g++-5 - libubsan0 - - libc6-dev-i386 - before_install: - - mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc # env: COMPILER=g++-5 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover -fno-omit-frame-pointer" env: + - NAME="DEBUG" - COMPILER="ccache /usr/bin/g++-5" - EXTRA_CXXFLAGS="-DDEBUG" script: echo "Not running any tests for a debug build." @@ -163,14 +251,13 @@ jobs: - libc6-dev-i386 before_install: - mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc - - export CCACHE_CPP2=yes # env: COMPILER=clang++-3.7 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover=undefined,integer -fno-omit-frame-pointer" env: - COMPILER="ccache /usr/bin/clang++-3.7" - EXTRA_CXXFLAGS="-Qunused-arguments -fcolor-diagnostics -DNDEBUG" - CCACHE_CPP2=yes - # Ubuntu Linux with glibc using clang++-3.7, debug mode, disable USE_DSTRING + # Ubuntu Linux with glibc using clang++-3.7, debug mode - stage: Test different OS/CXX/Flags os: linux sudo: false @@ -186,14 +273,12 @@ jobs: - clang-3.7 - libstdc++-5-dev - libubsan0 - - libc6-dev-i386 before_install: - - mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc - - export CCACHE_CPP2=yes # env: COMPILER=clang++-3.7 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover=undefined,integer -fno-omit-frame-pointer" env: + - NAME="DEBUG" - COMPILER="ccache /usr/bin/clang++-3.7" - - EXTRA_CXXFLAGS="-Qunused-arguments -fcolor-diagnostics -DDEBUG -DUSE_STD_STRING" + - EXTRA_CXXFLAGS="-Qunused-arguments -fcolor-diagnostics -DDEBUG" - CCACHE_CPP2=yes script: echo "Not running any tests for a debug build." @@ -237,6 +322,28 @@ jobs: - cmake --build build -- -j4 script: (cd build; ctest -V -L CORE -j2) + # Ubuntu Linux with glibc using g++-5, disable USE_DSTRING + - stage: Test different OS/CXX/Flags + os: linux + sudo: false + compiler: gcc + cache: ccache + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libwww-perl + - g++-5 + - libubsan0 + - parallel + before_install: + - mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc + # env: COMPILER=g++-5 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover -fno-omit-frame-pointer" + env: + - NAME="USE_STD_STRING" + - COMPILER="ccache /usr/bin/g++-5" + - EXTRA_CXXFLAGS="-D_GLIBCXX_DEBUG -DUSE_STD_STRING" # Run Coverity - stage: Test different OS/CXX/Flags