1# Build matrix / environment variable are explained on: 2# https://docs.travis-ci.com/user/customizing-the-build/ 3# This file can be validated on: 4# http://lint.travis-ci.org/ 5 6sudo: false 7language: cpp 8 9# Define the matrix explicitly, manually expanding the combinations of (os, compiler, env). 10# It is more tedious, but grants us far more flexibility. 11matrix: 12 include: 13 - os: linux 14 compiler: gcc 15 sudo : true 16 install: ./ci/install-linux.sh && ./ci/log-config.sh 17 script: ./ci/build-linux-bazel.sh 18 - os: linux 19 compiler: clang 20 sudo : true 21 install: ./ci/install-linux.sh && ./ci/log-config.sh 22 script: ./ci/build-linux-bazel.sh 23 - os: linux 24 group: deprecated-2017Q4 25 compiler: gcc 26 install: ./ci/install-linux.sh && ./ci/log-config.sh 27 script: ./ci/build-linux-autotools.sh 28 - os: linux 29 group: deprecated-2017Q4 30 compiler: gcc 31 env: BUILD_TYPE=Debug VERBOSE=1 CXX_FLAGS=-std=c++11 32 - os: linux 33 group: deprecated-2017Q4 34 compiler: clang 35 env: BUILD_TYPE=Debug VERBOSE=1 36 - os: linux 37 group: deprecated-2017Q4 38 compiler: clang 39 env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 40 - os: linux 41 compiler: clang 42 env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 NO_EXCEPTION=ON NO_RTTI=ON COMPILER_IS_GNUCXX=ON 43 - os: osx 44 compiler: gcc 45 env: BUILD_TYPE=Debug VERBOSE=1 46 - os: osx 47 compiler: gcc 48 env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 49 - os: osx 50 compiler: clang 51 env: BUILD_TYPE=Debug VERBOSE=1 52 if: type != pull_request 53 - os: osx 54 env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 55 if: type != pull_request 56 57# These are the install and build (script) phases for the most common entries in the matrix. They could be included 58# in each entry in the matrix, but that is just repetitive. 59install: 60 - ./ci/install-${TRAVIS_OS_NAME}.sh 61 - . ./ci/env-${TRAVIS_OS_NAME}.sh 62 - ./ci/log-config.sh 63 64script: ./ci/travis.sh 65 66# For sudo=false builds this section installs the necessary dependencies. 67addons: 68 apt: 69 # List of whitelisted in travis packages for ubuntu-precise can be found here: 70 # https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise 71 # List of whitelisted in travis apt-sources: 72 # https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json 73 sources: 74 - ubuntu-toolchain-r-test 75 - llvm-toolchain-precise-3.9 76 packages: 77 - g++-4.9 78 - clang-3.9 79 80notifications: 81 email: false 82