2015-08-31 06:19:39 +00:00
|
|
|
# Build matrix / environment variable are explained on:
|
|
|
|
# http://about.travis-ci.org/docs/user/build-configuration/
|
|
|
|
# This file can be validated on:
|
|
|
|
# http://lint.travis-ci.org/
|
|
|
|
|
2017-12-09 01:59:07 +00:00
|
|
|
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
|
2017-12-24 15:34:56 +00:00
|
|
|
install: ./ci/install-linux.sh && ./ci/log-config.sh
|
|
|
|
script: ./ci/build-linux-autotools.sh
|
2017-12-09 01:59:07 +00:00
|
|
|
- os: linux
|
|
|
|
compiler: gcc
|
2017-12-24 15:34:56 +00:00
|
|
|
env: BUILD_TYPE=Debug VERBOSE=1 CXX_FLAGS=-std=c++11
|
2017-12-09 01:59:07 +00:00
|
|
|
- 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
|
2018-01-05 19:58:48 +00:00
|
|
|
if: type != pull_request
|
2017-12-09 01:59:07 +00:00
|
|
|
- os: osx
|
|
|
|
compiler: gcc
|
|
|
|
env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
|
2018-01-05 19:58:48 +00:00
|
|
|
if: type != pull_request
|
2017-12-09 01:59:07 +00:00
|
|
|
- os: osx
|
|
|
|
compiler: clang
|
|
|
|
env: BUILD_TYPE=Debug VERBOSE=1
|
2018-01-05 19:58:48 +00:00
|
|
|
if: type != pull_request
|
2017-12-09 01:59:07 +00:00
|
|
|
- os: osx
|
|
|
|
compiler: clang
|
|
|
|
env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
|
2018-01-05 19:58:48 +00:00
|
|
|
if: type != pull_request
|
2017-12-09 01:59:07 +00: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 06:19:39 +00:00
|
|
|
install:
|
2017-12-09 01:59:07 +00:00
|
|
|
- ./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 06:19:39 +00:00
|
|
|
addons:
|
|
|
|
apt:
|
2015-10-18 01:34:12 +00: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 06:19:39 +00:00
|
|
|
sources:
|
|
|
|
- ubuntu-toolchain-r-test
|
2015-10-18 01:28:57 +00:00
|
|
|
- llvm-toolchain-precise-3.7
|
2015-08-31 06:19:39 +00:00
|
|
|
packages:
|
|
|
|
- g++-4.9
|
2015-10-18 01:28:57 +00:00
|
|
|
- clang-3.7
|
2017-12-09 01:59:07 +00:00
|
|
|
|
2015-08-31 06:19:39 +00:00
|
|
|
notifications:
|
|
|
|
email: false
|