From 90aae43984ce3b6a5193ce3bc18293c28db6c606 Mon Sep 17 00:00:00 2001 From: James McCoy Date: Mon, 1 Jan 2018 21:00:07 -0500 Subject: travis: Use Ubuntu's clang instead of llvm's repo The llvm repos commonly have access issues, so removing them will improve stability of the Travis builds. Filtering check_log's output through asan_symbolize also avoids the version dance every time a new clang version makes its way into Travis. --- .travis.yml | 10 ++++------ ci/common/test.sh | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2bab1635ad..35a3c76fce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ env: # http://docs.travis-ci.com/user/speeding-up-the-build/#Paralellizing-your-build-on-one-VM - MAKE_CMD="make -j2" # Update PATH for pip. - - PATH="$(python2.7 -c 'import site; print(site.getuserbase())')/bin:/usr/lib/llvm-symbolizer-4.0/bin:$PATH" + - PATH="$(python2.7 -c 'import site; print(site.getuserbase())')/bin:$PATH" # Build directory for Neovim. - BUILD_DIR="$TRAVIS_BUILD_DIR/build" # Build directory for third-party dependencies. @@ -53,7 +53,7 @@ jobs: include: - stage: sanitizers os: linux - compiler: clang-4.0 + compiler: clang env: > CLANG_SANITIZER=ASAN_UBSAN CMAKE_FLAGS="$CMAKE_FLAGS -DPREFER_LUA=ON" @@ -81,7 +81,7 @@ jobs: compiler: gcc-5 env: GCOV=gcov-5 CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_GCOV=ON" - os: linux - compiler: clang-4.0 + compiler: clang env: CLANG_SANITIZER=TSAN allow_failures: - env: GCOV=gcov-5 CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_GCOV=ON" @@ -99,13 +99,12 @@ addons: apt: sources: - ubuntu-toolchain-r-test - - llvm-toolchain-trusty-4.0 packages: - autoconf - automake - apport - build-essential - - clang-4.0 + - clang - cmake - cscope - g++-5-multilib @@ -116,7 +115,6 @@ addons: - language-pack-tr - libc6-dev-i386 - libtool - - llvm-4.0-dev - locales - pkg-config - unzip diff --git a/ci/common/test.sh b/ci/common/test.sh index 55f76ca798..2de89dee79 100644 --- a/ci/common/test.sh +++ b/ci/common/test.sh @@ -71,7 +71,7 @@ valgrind_check() { } asan_check() { - check_logs "${1}" "*san.*" + check_logs "${1}" "*san.*" | asan_symbolize } run_unittests() {( -- cgit From dc1444e112eaaa13fb3b4ed4c58b01781219aca6 Mon Sep 17 00:00:00 2001 From: James McCoy Date: Mon, 1 Jan 2018 21:19:58 -0500 Subject: travis: Remove ubuntu-r-toolchain/test ppa Use unversioned gcc/gcov commands rather than pulling in a separate repo. --- .travis.yml | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index 35a3c76fce..5b37ad656d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -59,32 +59,32 @@ jobs: CMAKE_FLAGS="$CMAKE_FLAGS -DPREFER_LUA=ON" - stage: normal builds os: linux - compiler: gcc-5 + compiler: gcc env: FUNCTIONALTEST=functionaltest-lua - os: linux # Travis creates a cache per compiler. # Set a different value here to store 32-bit # dependencies in a separate cache. - compiler: gcc-5 -m32 + compiler: gcc -m32 env: BUILD_32BIT=ON - os: osx compiler: clang osx_image: xcode7.3 # macOS 10.11 - os: osx - compiler: gcc-4.9 + compiler: gcc osx_image: xcode7.3 # macOS 10.11 - stage: lint os: linux env: CI_TARGET=lint - stage: Flaky builds os: linux - compiler: gcc-5 - env: GCOV=gcov-5 CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_GCOV=ON" + compiler: gcc + env: GCOV=gcov CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_GCOV=ON" - os: linux compiler: clang env: CLANG_SANITIZER=TSAN allow_failures: - - env: GCOV=gcov-5 CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_GCOV=ON" + - env: GCOV=gcov CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_GCOV=ON" - env: CLANG_SANITIZER=TSAN fast_finish: true @@ -97,8 +97,6 @@ after_success: ci/after_success.sh addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - autoconf - automake @@ -107,9 +105,7 @@ addons: - clang - cmake - cscope - - g++-5-multilib - g++-multilib - - gcc-5-multilib - gcc-multilib - gdb - language-pack-tr -- cgit From d162815ca9237edf13b227cc51b4d2931f1f26a1 Mon Sep 17 00:00:00 2001 From: James McCoy Date: Mon, 1 Jan 2018 21:30:54 -0500 Subject: travis: Reduce stages to flaky builds (gcov, tsan) and everything else Separating the non-flaky builds (asan, normal builds, lint) into separate stages simply slowed down overall CI turnaround. Since none of the builds rely on the output of others, reducing the stages increases the opportunities for parallel builds. --- .travis.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5b37ad656d..09ef8bba46 100644 --- a/.travis.yml +++ b/.travis.yml @@ -51,14 +51,13 @@ env: jobs: include: - - stage: sanitizers + - stage: normal builds os: linux compiler: clang env: > CLANG_SANITIZER=ASAN_UBSAN CMAKE_FLAGS="$CMAKE_FLAGS -DPREFER_LUA=ON" - - stage: normal builds - os: linux + - os: linux compiler: gcc env: FUNCTIONALTEST=functionaltest-lua - os: linux @@ -73,8 +72,7 @@ jobs: - os: osx compiler: gcc osx_image: xcode7.3 # macOS 10.11 - - stage: lint - os: linux + - os: linux env: CI_TARGET=lint - stage: Flaky builds os: linux -- cgit From dd0fa4fd0e6dd7c59aba17dfeadc66b271501ce1 Mon Sep 17 00:00:00 2001 From: James McCoy Date: Mon, 1 Jan 2018 21:46:44 -0500 Subject: ci: asan_check: No-op unless performing ASAN build --- ci/common/test.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ci/common/test.sh b/ci/common/test.sh index 2de89dee79..1cb3a6224b 100644 --- a/ci/common/test.sh +++ b/ci/common/test.sh @@ -71,7 +71,9 @@ valgrind_check() { } asan_check() { - check_logs "${1}" "*san.*" | asan_symbolize + if test "${CLANG_SANITIZER}" = "ASAN_UBSAN" ; then + check_logs "${1}" "*san.*" | asan_symbolize + fi } run_unittests() {( -- cgit