diff options
author | James McCoy <jamessan@jamessan.com> | 2017-05-14 00:46:30 -0400 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2017-05-14 06:46:30 +0200 |
commit | 6e4e70f51b8a889d38fe5d954d9ac817750424c3 (patch) | |
tree | fadf803c09f9642013e3347c1da308fd6f62d745 | |
parent | 17531ed0825c1bf5e24e78ae94020fb08ca06013 (diff) | |
download | rneovim-6e4e70f51b8a889d38fe5d954d9ac817750424c3.tar.gz rneovim-6e4e70f51b8a889d38fe5d954d9ac817750424c3.tar.bz2 rneovim-6e4e70f51b8a889d38fe5d954d9ac817750424c3.zip |
ci: Enable staged builds (#6739)
This should better allow distributing the load among PRs, while getting
critical feedback to the submitter sooner.
First stage runs the ASAN/UBSAN/TSAN since any failures in those are
gating issues.
Second stage runs the rest of the normal builds in parallel.
Remaining stages provide lower priority feedback. The lint build runs
fast locally, so it's better to run that locally than wait on CI. The
coverage build is pretty fickle, so it is only run once all other jobs
are green.
-rw-r--r-- | .travis.yml | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/.travis.yml b/.travis.yml index 74e4b3f76e..8ca6f58fec 100644 --- a/.travis.yml +++ b/.travis.yml @@ -48,14 +48,19 @@ env: - FUNCTIONALTEST=functionaltest - CI_TARGET=tests -matrix: +jobs: include: + - stage: sanitizers + os: linux + compiler: clang-3.9 + env: > + CLANG_SANITIZER=ASAN_UBSAN + CMAKE_FLAGS="$CMAKE_FLAGS -DPREFER_LUA=ON" - os: linux - env: CI_TARGET=lint - - os: linux - compiler: gcc-5 - env: GCOV=gcov-5 CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_GCOV=ON" - - os: linux + compiler: clang-3.9 + env: CLANG_SANITIZER=TSAN + - stage: normal builds + os: linux compiler: gcc-5 env: FUNCTIONALTEST=functionaltest-lua - os: linux @@ -64,20 +69,19 @@ matrix: # dependencies in a separate cache. compiler: gcc-5 -m32 env: BUILD_32BIT=ON - - os: linux - compiler: clang-3.9 - env: > - CLANG_SANITIZER=ASAN_UBSAN - CMAKE_FLAGS="$CMAKE_FLAGS -DPREFER_LUA=ON" - - os: linux - compiler: clang-3.9 - env: CLANG_SANITIZER=TSAN - os: osx compiler: clang osx_image: xcode7.3 # macOS 10.11 - os: osx compiler: gcc-4.9 osx_image: xcode7.3 # macOS 10.11 + - stage: lint + os: linux + env: CI_TARGET=lint + - stage: coverage + os: linux + compiler: gcc-5 + env: GCOV=gcov-5 CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_GCOV=ON" allow_failures: - env: GCOV=gcov-5 CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_GCOV=ON" fast_finish: true |