Billy Donahue | bbb54ef | 2015-08-31 02:19:39 -0400 | [diff] [blame] | 1 | # Build matrix / environment variable are explained on: |
Piotr KÄ…kol | 309e8a2 | 2018-07-25 19:19:26 +0200 | [diff] [blame] | 2 | # https://docs.travis-ci.com/user/customizing-the-build/ |
Billy Donahue | bbb54ef | 2015-08-31 02:19:39 -0400 | [diff] [blame] | 3 | # This file can be validated on: |
| 4 | # http://lint.travis-ci.org/ |
Billy Donahue | bbb54ef | 2015-08-31 02:19:39 -0400 | [diff] [blame] | 5 | |
Carlos O'Ryan | bc3320b | 2017-12-08 20:59:07 -0500 | [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 |
Gennadiy Civil | 73d1251 | 2018-01-11 16:57:44 -0500 | [diff] [blame] | 15 | sudo : true |
Carlos O'Ryan | bc3320b | 2017-12-08 20:59:07 -0500 | [diff] [blame] | 16 | install: ./ci/install-linux.sh && ./ci/log-config.sh |
| 17 | script: ./ci/build-linux-bazel.sh |
| 18 | - os: linux |
| 19 | compiler: clang |
Gennadiy Civil | 73d1251 | 2018-01-11 16:57:44 -0500 | [diff] [blame] | 20 | sudo : true |
Carlos O'Ryan | bc3320b | 2017-12-08 20:59:07 -0500 | [diff] [blame] | 21 | install: ./ci/install-linux.sh && ./ci/log-config.sh |
| 22 | script: ./ci/build-linux-bazel.sh |
| 23 | - os: linux |
Gennadiy Civil | 6eccdb7 | 2018-01-10 10:20:09 -0500 | [diff] [blame] | 24 | group: deprecated-2017Q4 |
Carlos O'Ryan | bc3320b | 2017-12-08 20:59:07 -0500 | [diff] [blame] | 25 | compiler: gcc |
Carlos O'Ryan | 75b85d5 | 2017-12-24 10:34:56 -0500 | [diff] [blame] | 26 | install: ./ci/install-linux.sh && ./ci/log-config.sh |
| 27 | script: ./ci/build-linux-autotools.sh |
Carlos O'Ryan | bc3320b | 2017-12-08 20:59:07 -0500 | [diff] [blame] | 28 | - os: linux |
Gennadiy Civil | 6eccdb7 | 2018-01-10 10:20:09 -0500 | [diff] [blame] | 29 | group: deprecated-2017Q4 |
Carlos O'Ryan | bc3320b | 2017-12-08 20:59:07 -0500 | [diff] [blame] | 30 | compiler: gcc |
Carlos O'Ryan | 75b85d5 | 2017-12-24 10:34:56 -0500 | [diff] [blame] | 31 | env: BUILD_TYPE=Debug VERBOSE=1 CXX_FLAGS=-std=c++11 |
Carlos O'Ryan | bc3320b | 2017-12-08 20:59:07 -0500 | [diff] [blame] | 32 | - os: linux |
Gennadiy Civil | 6eccdb7 | 2018-01-10 10:20:09 -0500 | [diff] [blame] | 33 | group: deprecated-2017Q4 |
Carlos O'Ryan | bc3320b | 2017-12-08 20:59:07 -0500 | [diff] [blame] | 34 | compiler: clang |
| 35 | env: BUILD_TYPE=Debug VERBOSE=1 |
| 36 | - os: linux |
Gennadiy Civil | 6eccdb7 | 2018-01-10 10:20:09 -0500 | [diff] [blame] | 37 | group: deprecated-2017Q4 |
Carlos O'Ryan | bc3320b | 2017-12-08 20:59:07 -0500 | [diff] [blame] | 38 | compiler: clang |
| 39 | env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 |
Scott Graham | 95ec42d | 2018-04-27 11:27:06 -0700 | [diff] [blame] | 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 |
Carlos O'Ryan | bc3320b | 2017-12-08 20:59:07 -0500 | [diff] [blame] | 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 |
Carlos O'Ryan | 67d6e46 | 2018-01-05 14:58:48 -0500 | [diff] [blame] | 52 | if: type != pull_request |
Carlos O'Ryan | bc3320b | 2017-12-08 20:59:07 -0500 | [diff] [blame] | 53 | - os: osx |
Carlos O'Ryan | bc3320b | 2017-12-08 20:59:07 -0500 | [diff] [blame] | 54 | env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 |
Carlos O'Ryan | 67d6e46 | 2018-01-05 14:58:48 -0500 | [diff] [blame] | 55 | if: type != pull_request |
Carlos O'Ryan | bc3320b | 2017-12-08 20:59:07 -0500 | [diff] [blame] | 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. |
Billy Donahue | bbb54ef | 2015-08-31 02:19:39 -0400 | [diff] [blame] | 59 | install: |
Carlos O'Ryan | bc3320b | 2017-12-08 20:59:07 -0500 | [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. |
Billy Donahue | bbb54ef | 2015-08-31 02:19:39 -0400 | [diff] [blame] | 67 | addons: |
| 68 | apt: |
Anton Klautsan | bbbc025 | 2015-10-18 02:34:12 +0100 | [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 |
Billy Donahue | bbb54ef | 2015-08-31 02:19:39 -0400 | [diff] [blame] | 73 | sources: |
| 74 | - ubuntu-toolchain-r-test |
Gennadiy Civil | 3dbba3b | 2018-08-29 22:02:08 -0400 | [diff] [blame] | 75 | - llvm-toolchain-precise-3.9 |
Billy Donahue | bbb54ef | 2015-08-31 02:19:39 -0400 | [diff] [blame] | 76 | packages: |
Billy Donahue | bbb54ef | 2015-08-31 02:19:39 -0400 | [diff] [blame] | 77 | - g++-4.9 |
Gennadiy Civil | 3dbba3b | 2018-08-29 22:02:08 -0400 | [diff] [blame] | 78 | - clang-3.9 |
Carlos O'Ryan | bc3320b | 2017-12-08 20:59:07 -0500 | [diff] [blame] | 79 | |
Billy Donahue | bbb54ef | 2015-08-31 02:19:39 -0400 | [diff] [blame] | 80 | notifications: |
| 81 | email: false |