misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 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 | |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 6 | language: cpp |
| 7 | |
| 8 | # Define the matrix explicitly, manually expanding the combinations of (os, compiler, env). |
| 9 | # It is more tedious, but grants us far more flexibility. |
| 10 | matrix: |
| 11 | include: |
| 12 | - os: linux |
dmauro | 859bfe8 | 2020-05-28 15:37:07 -0400 | [diff] [blame] | 13 | dist: bionic |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 14 | compiler: gcc |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 15 | install: ./ci/install-linux.sh && ./ci/log-config.sh |
| 16 | script: ./ci/build-linux-bazel.sh |
| 17 | - os: linux |
dmauro | 859bfe8 | 2020-05-28 15:37:07 -0400 | [diff] [blame] | 18 | dist: bionic |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 19 | compiler: clang |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 20 | install: ./ci/install-linux.sh && ./ci/log-config.sh |
| 21 | script: ./ci/build-linux-bazel.sh |
| 22 | - os: linux |
dmauro | 859bfe8 | 2020-05-28 15:37:07 -0400 | [diff] [blame] | 23 | dist: bionic |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 24 | compiler: gcc |
dmauro | d737069 | 2020-11-30 16:55:34 -0500 | [diff] [blame] | 25 | env: BUILD_TYPE=Debug CXX_FLAGS="-std=c++11 -Wdeprecated" |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 26 | - os: linux |
dmauro | 859bfe8 | 2020-05-28 15:37:07 -0400 | [diff] [blame] | 27 | dist: bionic |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 28 | compiler: clang |
dmauro | d737069 | 2020-11-30 16:55:34 -0500 | [diff] [blame] | 29 | env: BUILD_TYPE=Release CXX_FLAGS="-std=c++11 -Wdeprecated" NO_EXCEPTION=ON NO_RTTI=ON COMPILER_IS_GNUCXX=ON |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 30 | - os: osx |
dmauro | d737069 | 2020-11-30 16:55:34 -0500 | [diff] [blame] | 31 | osx_image: xcode12.2 |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 32 | compiler: gcc |
dmauro | d737069 | 2020-11-30 16:55:34 -0500 | [diff] [blame] | 33 | env: BUILD_TYPE=Release CC=gcc-10 CXX=g++-10 CXX_FLAGS="-std=c++11 -Wdeprecated" HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 34 | - os: osx |
dmauro | d737069 | 2020-11-30 16:55:34 -0500 | [diff] [blame] | 35 | osx_image: xcode12.2 |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 36 | compiler: clang |
dmauro | d737069 | 2020-11-30 16:55:34 -0500 | [diff] [blame] | 37 | env: BUILD_TYPE=Release CXX_FLAGS="-std=c++11 -Wdeprecated" HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 38 | |
| 39 | # These are the install and build (script) phases for the most common entries in the matrix. They could be included |
| 40 | # in each entry in the matrix, but that is just repetitive. |
| 41 | install: |
| 42 | - ./ci/install-${TRAVIS_OS_NAME}.sh |
| 43 | - . ./ci/env-${TRAVIS_OS_NAME}.sh |
| 44 | - ./ci/log-config.sh |
| 45 | |
| 46 | script: ./ci/travis.sh |
| 47 | |
misterg | 9f8c393 | 2019-08-05 16:42:55 -0400 | [diff] [blame] | 48 | # This section installs the necessary dependencies. |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 49 | addons: |
| 50 | apt: |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 51 | packages: |
dmauro | 859bfe8 | 2020-05-28 15:37:07 -0400 | [diff] [blame] | 52 | - g++ |
| 53 | - clang |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 54 | update: true |
| 55 | homebrew: |
| 56 | packages: |
dmauro | d737069 | 2020-11-30 16:55:34 -0500 | [diff] [blame] | 57 | - gcc@10 |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 58 | update: true |
| 59 | |
| 60 | notifications: |
| 61 | email: false |