Austin Schuh | 0cbef62 | 2015-09-06 17:34:52 -0700 | [diff] [blame] | 1 | # Build matrix / environment variable are explained on: |
Austin Schuh | 889ac43 | 2018-10-29 22:57:02 -0700 | [diff] [blame] | 2 | # https://docs.travis-ci.com/user/customizing-the-build/ |
Austin Schuh | 0cbef62 | 2015-09-06 17:34:52 -0700 | [diff] [blame] | 3 | # This file can be validated on: |
| 4 | # http://lint.travis-ci.org/ |
Austin Schuh | 0cbef62 | 2015-09-06 17:34:52 -0700 | [diff] [blame] | 5 | |
Austin Schuh | 889ac43 | 2018-10-29 22:57:02 -0700 | [diff] [blame] | 6 | sudo: false |
| 7 | language: 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. |
| 11 | matrix: |
| 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. |
Austin Schuh | 0cbef62 | 2015-09-06 17:34:52 -0700 | [diff] [blame] | 59 | install: |
Austin Schuh | 889ac43 | 2018-10-29 22:57:02 -0700 | [diff] [blame] | 60 | - ./ci/install-${TRAVIS_OS_NAME}.sh |
| 61 | - . ./ci/env-${TRAVIS_OS_NAME}.sh |
| 62 | - ./ci/log-config.sh |
| 63 | |
| 64 | script: ./ci/travis.sh |
| 65 | |
| 66 | # For sudo=false builds this section installs the necessary dependencies. |
Austin Schuh | 0cbef62 | 2015-09-06 17:34:52 -0700 | [diff] [blame] | 67 | addons: |
| 68 | apt: |
Austin Schuh | 889ac43 | 2018-10-29 22:57:02 -0700 | [diff] [blame] | 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 |
Austin Schuh | 0cbef62 | 2015-09-06 17:34:52 -0700 | [diff] [blame] | 73 | sources: |
| 74 | - ubuntu-toolchain-r-test |
Austin Schuh | 889ac43 | 2018-10-29 22:57:02 -0700 | [diff] [blame] | 75 | - llvm-toolchain-precise-3.9 |
Austin Schuh | 0cbef62 | 2015-09-06 17:34:52 -0700 | [diff] [blame] | 76 | packages: |
Austin Schuh | 0cbef62 | 2015-09-06 17:34:52 -0700 | [diff] [blame] | 77 | - g++-4.9 |
Austin Schuh | 889ac43 | 2018-10-29 22:57:02 -0700 | [diff] [blame] | 78 | - clang-3.9 |
| 79 | |
Austin Schuh | 0cbef62 | 2015-09-06 17:34:52 -0700 | [diff] [blame] | 80 | notifications: |
| 81 | email: false |