blob: 982e99c42a1db19583c1c8aff0173fd4061d64c3 [file] [log] [blame]
mistergc4ccab32019-02-12 11:48:51 -05001# 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
mistergc4ccab32019-02-12 11:48:51 -05006language: 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.
10matrix:
11 include:
12 - os: linux
dmauro859bfe82020-05-28 15:37:07 -040013 dist: bionic
mistergc4ccab32019-02-12 11:48:51 -050014 compiler: gcc
mistergc4ccab32019-02-12 11:48:51 -050015 install: ./ci/install-linux.sh && ./ci/log-config.sh
16 script: ./ci/build-linux-bazel.sh
17 - os: linux
dmauro859bfe82020-05-28 15:37:07 -040018 dist: bionic
mistergc4ccab32019-02-12 11:48:51 -050019 compiler: clang
mistergc4ccab32019-02-12 11:48:51 -050020 install: ./ci/install-linux.sh && ./ci/log-config.sh
21 script: ./ci/build-linux-bazel.sh
22 - os: linux
dmauro859bfe82020-05-28 15:37:07 -040023 dist: bionic
mistergc4ccab32019-02-12 11:48:51 -050024 compiler: gcc
dmaurod7370692020-11-30 16:55:34 -050025 env: BUILD_TYPE=Debug CXX_FLAGS="-std=c++11 -Wdeprecated"
mistergc4ccab32019-02-12 11:48:51 -050026 - os: linux
dmauro859bfe82020-05-28 15:37:07 -040027 dist: bionic
mistergc4ccab32019-02-12 11:48:51 -050028 compiler: clang
dmaurod7370692020-11-30 16:55:34 -050029 env: BUILD_TYPE=Release CXX_FLAGS="-std=c++11 -Wdeprecated" NO_EXCEPTION=ON NO_RTTI=ON COMPILER_IS_GNUCXX=ON
mistergc4ccab32019-02-12 11:48:51 -050030 - os: osx
dmaurod7370692020-11-30 16:55:34 -050031 osx_image: xcode12.2
mistergc4ccab32019-02-12 11:48:51 -050032 compiler: gcc
dmaurod7370692020-11-30 16:55:34 -050033 env: BUILD_TYPE=Release CC=gcc-10 CXX=g++-10 CXX_FLAGS="-std=c++11 -Wdeprecated" HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
mistergc4ccab32019-02-12 11:48:51 -050034 - os: osx
dmaurod7370692020-11-30 16:55:34 -050035 osx_image: xcode12.2
mistergc4ccab32019-02-12 11:48:51 -050036 compiler: clang
dmaurod7370692020-11-30 16:55:34 -050037 env: BUILD_TYPE=Release CXX_FLAGS="-std=c++11 -Wdeprecated" HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
mistergc4ccab32019-02-12 11:48:51 -050038
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.
41install:
42 - ./ci/install-${TRAVIS_OS_NAME}.sh
43 - . ./ci/env-${TRAVIS_OS_NAME}.sh
44 - ./ci/log-config.sh
45
46script: ./ci/travis.sh
47
misterg9f8c3932019-08-05 16:42:55 -040048# This section installs the necessary dependencies.
mistergc4ccab32019-02-12 11:48:51 -050049addons:
50 apt:
mistergc4ccab32019-02-12 11:48:51 -050051 packages:
dmauro859bfe82020-05-28 15:37:07 -040052 - g++
53 - clang
mistergc4ccab32019-02-12 11:48:51 -050054 update: true
55 homebrew:
56 packages:
dmaurod7370692020-11-30 16:55:34 -050057 - gcc@10
mistergc4ccab32019-02-12 11:48:51 -050058 update: true
59
60notifications:
61 email: false