aboutsummaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
authorbryanzim <BryanZim@bazinnovations.com>2017-12-11 14:11:28 -0500
committerGitHub <noreply@github.com>2017-12-11 14:11:28 -0500
commit4c8e288fcf15370f4c3f1fd2b87128dab7a8b06d (patch)
tree20b46b047540736e6dd43163a4a7b0cbfea30ff5 /.travis.yml
parent74a53063133bc1d463a87c85227225690f2fe44d (diff)
parent0fe96607d85cf3a25ac40da369db62bbee2939a5 (diff)
downloadgoogletest-4c8e288fcf15370f4c3f1fd2b87128dab7a8b06d.tar.gz
googletest-4c8e288fcf15370f4c3f1fd2b87128dab7a8b06d.tar.bz2
googletest-4c8e288fcf15370f4c3f1fd2b87128dab7a8b06d.zip
Merge branch 'master' into master
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml83
1 files changed, 54 insertions, 29 deletions
diff --git a/.travis.yml b/.travis.yml
index 797c2898..4afad4ae 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,19 +3,60 @@
# This file can be validated on:
# http://lint.travis-ci.org/
+sudo: false
+language: cpp
+
+# Define the matrix explicitly, manually expanding the combinations of (os, compiler, env).
+# It is more tedious, but grants us far more flexibility.
+matrix:
+ include:
+ - os: linux
+ compiler: gcc
+ sudo: true
+ cache:
+ install: ./ci/install-linux.sh && ./ci/log-config.sh
+ script: ./ci/build-linux-bazel.sh
+ - os: linux
+ compiler: clang
+ sudo: true
+ cache:
+ install: ./ci/install-linux.sh && ./ci/log-config.sh
+ script: ./ci/build-linux-bazel.sh
+ - os: linux
+ compiler: gcc
+ env: BUILD_TYPE=Debug VERBOSE=1
+ - os: linux
+ compiler: gcc
+ env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
+ - os: linux
+ compiler: clang
+ env: BUILD_TYPE=Debug VERBOSE=1
+ - os: linux
+ compiler: clang
+ env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
+ - os: osx
+ compiler: gcc
+ env: BUILD_TYPE=Debug VERBOSE=1
+ - os: osx
+ compiler: gcc
+ env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
+ - os: osx
+ compiler: clang
+ env: BUILD_TYPE=Debug VERBOSE=1
+ - os: osx
+ compiler: clang
+ env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
+
+# These are the install and build (script) phases for the most common entries in the matrix. They could be included
+# in each entry in the matrix, but that is just repetitive.
install:
-# /usr/bin/gcc is 4.6 always, but gcc-X.Y is available.
-- if [ "$CXX" = "g++" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then export CXX="g++-4.9" CC="gcc-4.9"; fi
-# /usr/bin/clang is 3.4, lets override with modern one.
-- if [ "$CXX" = "clang++" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then export CXX="clang++-3.7" CC="clang-3.7"; ln -sf /usr/bin/ccache /$HOME/bin/$CXX; ln -sf /usr/bin/ccache /$HOME/bin/$CC; fi
-# ccache on OS X needs installation first
-- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update; brew install ccache; export PATH="/usr/local/opt/ccache/libexec:$PATH"; fi
-# reset ccache statistics
-- ccache --zero-stats
-- echo ${PATH}
-- echo ${CXX}
-- ${CXX} --version
-- ${CXX} -v
+ - ./ci/install-${TRAVIS_OS_NAME}.sh
+ - . ./ci/env-${TRAVIS_OS_NAME}.sh
+ - ./ci/log-config.sh
+
+script: ./ci/travis.sh
+
+# For sudo=false builds this section installs the necessary dependencies.
addons:
apt:
# List of whitelisted in travis packages for ubuntu-precise can be found here:
@@ -28,22 +69,6 @@ addons:
packages:
- g++-4.9
- clang-3.7
-os:
- - linux
- - osx
-language: cpp
-cache: ccache
-before_cache:
- # print statistics before uploading new cache
- - ccache --show-stats
-compiler:
- - gcc
- - clang
-script: ./travis.sh
-env:
- matrix:
- - BUILD_TYPE=Debug VERBOSE=1
- - BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
+
notifications:
email: false
-sudo: false