CI: Fix/improve Travis cache handling [skip appveyor] #10422

Via https://github.com/neovim/neovim/pull/10412

* use list, no indirection
* use job names
* __FOR_TRAVIS_CACHE__ (more descriptive)
This commit is contained in:
Daniel Hahler 2019-07-05 21:45:50 +02:00 committed by Justin M. Keyes
parent d65181fc9a
commit dc1a11dbe1

View File

@ -47,46 +47,74 @@ env:
- CCACHE_SLOPPINESS=time_macros,file_macro - CCACHE_SLOPPINESS=time_macros,file_macro
- CCACHE_BASEDIR="$TRAVIS_BUILD_DIR" - CCACHE_BASEDIR="$TRAVIS_BUILD_DIR"
anchors:
envs: &common-job-env
# Do not fall back to cache for "master" for PR on "release" branch:
# adds the target branch to the cache key.
__FOR_TRAVIS_CACHE__=$TRAVIS_BRANCH
jobs: jobs:
include: include:
- stage: normal builds - stage: normal builds
name: clang-asan
os: linux os: linux
compiler: clang-4.0 compiler: clang-4.0
# Use Lua so that ASAN can test our embedded Lua support. 8fec4d53d0f6 # Use Lua so that ASAN can test our embedded Lua support. 8fec4d53d0f6
env: > env:
CLANG_SANITIZER=ASAN_UBSAN - CLANG_SANITIZER=ASAN_UBSAN
CMAKE_FLAGS="$CMAKE_FLAGS -DPREFER_LUA=ON" - CMAKE_FLAGS="$CMAKE_FLAGS -DPREFER_LUA=ON"
ASAN_SYMBOLIZE=asan_symbolize-4.0 - ASAN_SYMBOLIZE=asan_symbolize-4.0
- os: linux - *common-job-env
- name: gcc-functionaltest-lua
os: linux
compiler: gcc compiler: gcc
env: > env:
FUNCTIONALTEST=functionaltest-lua - FUNCTIONALTEST=functionaltest-lua
CMAKE_FLAGS="$CMAKE_FLAGS -DPREFER_LUA=ON" - CMAKE_FLAGS="$CMAKE_FLAGS -DPREFER_LUA=ON"
DEPS_CMAKE_FLAGS="$DEPS_CMAKE_FLAGS -DUSE_BUNDLED_LUAJIT=OFF" - DEPS_CMAKE_FLAGS="$DEPS_CMAKE_FLAGS -DUSE_BUNDLED_LUAJIT=OFF"
- os: linux - *common-job-env
- name: gcc-32bit
os: linux
# Travis creates a cache per compiler. Set a different value here to # Travis creates a cache per compiler. Set a different value here to
# store 32-bit dependencies in a separate cache. # store 32-bit dependencies in a separate cache.
compiler: gcc compiler: gcc
env: BUILD_32BIT=ON env:
- os: osx - BUILD_32BIT: ON
- *common-job-env
- name: "OSX: clang"
os: osx
compiler: clang compiler: clang
osx_image: xcode9.4 # macOS 10.13 osx_image: xcode9.4 # macOS 10.13
- os: osx env: *common-job-env
- name: "OSX: gcc"
os: osx
compiler: gcc compiler: gcc
osx_image: xcode9.4 # macOS 10.13 osx_image: xcode9.4 # macOS 10.13
env: *common-job-env
- if: branch = master - if: branch = master
name: lint
os: linux os: linux
env: CI_TARGET=lint env:
- CI_TARGET=lint
- *common-job-env
- stage: Flaky builds - stage: Flaky builds
name: gcc-coverage
os: linux os: linux
compiler: gcc compiler: gcc
env: GCOV=gcov CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_GCOV=ON" env:
- GCOV=gcov
- CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_GCOV=ON"
- *common-job-env
- os: linux - os: linux
name: clang-tsan
compiler: clang compiler: clang
env: CLANG_SANITIZER=TSAN env:
- CLANG_SANITIZER=TSAN
- *common-job-env
allow_failures: allow_failures:
- env: GCOV=gcov CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_GCOV=ON" - name: gcc-coverage
- env: CLANG_SANITIZER=TSAN - name: clang-tsan
fast_finish: true fast_finish: true
before_install: ci/before_install.sh before_install: ci/before_install.sh