summaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
authorConor Burgess <Burgess.Conor@gmail.com>2018-01-12 16:00:39 (GMT)
committerGitHub <noreply@github.com>2018-01-12 16:00:39 (GMT)
commit27bb844e5c31a0a67b7b4864ffb2b80ae2803882 (patch)
treee8cca8f555358fa2ed590a226c8a15a0354dbd80 /.travis.yml
parent8f90d46c8cdd743759821a1c987a70e826d58cef (diff)
parented8d02cfc689f26b65e6deb585561c59615b05de (diff)
downloadgoogletest-27bb844e5c31a0a67b7b4864ffb2b80ae2803882.zip
googletest-27bb844e5c31a0a67b7b4864ffb2b80ae2803882.tar.gz
googletest-27bb844e5c31a0a67b7b4864ffb2b80ae2803882.tar.bz2
Merge branch 'master' into fix-argc
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml90
1 files changed, 61 insertions, 29 deletions
diff --git a/.travis.yml b/.travis.yml
index 797c289..2fbb3b1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,19 +3,67 @@
# 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
+ install: ./ci/install-linux.sh && ./ci/log-config.sh
+ script: ./ci/build-linux-bazel.sh
+ - os: linux
+ compiler: clang
+ sudo : true
+ install: ./ci/install-linux.sh && ./ci/log-config.sh
+ script: ./ci/build-linux-bazel.sh
+ - os: linux
+ group: deprecated-2017Q4
+ compiler: gcc
+ install: ./ci/install-linux.sh && ./ci/log-config.sh
+ script: ./ci/build-linux-autotools.sh
+ - os: linux
+ group: deprecated-2017Q4
+ compiler: gcc
+ env: BUILD_TYPE=Debug VERBOSE=1 CXX_FLAGS=-std=c++11
+ - os: linux
+ group: deprecated-2017Q4
+ compiler: clang
+ env: BUILD_TYPE=Debug VERBOSE=1
+ - os: linux
+ group: deprecated-2017Q4
+ compiler: clang
+ env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
+ - os: osx
+ compiler: gcc
+ env: BUILD_TYPE=Debug VERBOSE=1
+ if: type != pull_request
+ - os: osx
+ compiler: gcc
+ env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
+ if: type != pull_request
+ - os: osx
+ compiler: clang
+ env: BUILD_TYPE=Debug VERBOSE=1
+ if: type != pull_request
+ - os: osx
+ compiler: clang
+ env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
+ if: type != pull_request
+
+# 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 +76,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