googletest/.travis.yml

85 lines
3.2 KiB
YAML
Raw Normal View History

2015-08-31 09:19:39 +03:00
# Build matrix / environment variable are explained on:
2018-07-25 20:19:26 +03:00
# https://docs.travis-ci.com/user/customizing-the-build/
2015-08-31 09:19:39 +03:00
# 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
2018-01-12 00:57:44 +03:00
sudo : true
install: ./ci/install-linux.sh && ./ci/log-config.sh
script: ./ci/build-linux-bazel.sh
- os: linux
compiler: clang
2018-01-12 00:57:44 +03:00
sudo : true
install: ./ci/install-linux.sh && ./ci/log-config.sh
script: ./ci/build-linux-bazel.sh
- os: linux
2018-01-10 18:20:09 +03:00
group: deprecated-2017Q4
compiler: gcc
install: ./ci/install-linux.sh && ./ci/log-config.sh
script: ./ci/build-linux-autotools.sh
2018-09-26 06:23:25 +03:00
env: VERBOSE=1 CXXFLAGS=-std=c++11
- os: linux
2018-01-10 18:20:09 +03:00
group: deprecated-2017Q4
compiler: gcc
env: BUILD_TYPE=Debug VERBOSE=1 CXX_FLAGS=-std=c++11
- os: linux
2018-01-10 18:20:09 +03:00
group: deprecated-2017Q4
compiler: clang
env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
- os: linux
compiler: clang
env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 NO_EXCEPTION=ON NO_RTTI=ON COMPILER_IS_GNUCXX=ON
- os: osx
compiler: gcc
env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
- os: osx
env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
if: type != pull_request
2018-12-10 20:58:45 +03:00
before_install:
- |
2018-12-12 07:58:13 +03:00
if [ "$TRAVIS_OS_NAME" != "osx" ] && [ ! -f ${TRAVIS_BUILD_DIR}/apt-cache/pkgcache.bin ]; then
2018-12-10 20:58:45 +03:00
mkdir -p ${TRAVIS_BUILD_DIR}/apt-cache/archives/partial
mkdir -p ${TRAVIS_BUILD_DIR}/apt-cache/partial
mkdir -p ${TRAVIS_BUILD_DIR}/apt-cache/lists
sudo apt-get -y -o Dir::cache=${TRAVIS_BUILD_DIR}/apt-cache -o Dir::State::Lists=${TRAVIS_BUILD_DIR}/apt-cache/lists update
sudo apt-get install --download-only -o Dir::cache=${TRAVIS_BUILD_DIR}/apt-cache -o Dir::State::Lists=${TRAVIS_BUILD_DIR}/apt-cache/lists g++-4.9 clang-3.9
fi
2018-12-12 08:01:07 +03:00
- if [ "$TRAVIS_OS_NAME" != "osx" ]; then sudo apt-get install --no-download -o Dir::cache=${TRAVIS_BUILD_DIR}/apt-cache -o Dir::State::Lists=${TRAVIS_BUILD_DIR}/apt-cache/lists g++-4.9 clang-3.9; fi
- if [ "$TRAVIS_OS_NAME" != "osx" ]; then sudo chown -R $USER ${TRAVIS_BUILD_DIR}/apt-cache; fi
2018-12-10 20:58:45 +03:00
# 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.
2015-08-31 09:19:39 +03:00
install:
- ./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.
2015-08-31 09:19:39 +03:00
addons:
apt:
2015-10-18 04:34:12 +03:00
# List of whitelisted in travis packages for ubuntu-precise can be found here:
# https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
# List of whitelisted in travis apt-sources:
# https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
2015-08-31 09:19:39 +03:00
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.9
2018-12-10 20:58:45 +03:00
cache:
directories:
- apt-cache
2015-08-31 09:19:39 +03:00
notifications:
email: false