blob: 4e7413a4f9a3c3fc01beee7d45fd4240b8e0aa18 [file] [log] [blame]
Billy Donahuebbb54ef2015-08-31 02:19:39 -04001# Build matrix / environment variable are explained on:
Piotr KÄ…kol309e8a22018-07-25 19:19:26 +02002# https://docs.travis-ci.com/user/customizing-the-build/
Billy Donahuebbb54ef2015-08-31 02:19:39 -04003# This file can be validated on:
4# http://lint.travis-ci.org/
Billy Donahuebbb54ef2015-08-31 02:19:39 -04005
Carlos O'Ryanbc3320b2017-12-08 20:59:07 -05006sudo: 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
Gennadiy Civil73d12512018-01-11 16:57:44 -050015 sudo : true
Carlos O'Ryanbc3320b2017-12-08 20:59:07 -050016 install: ./ci/install-linux.sh && ./ci/log-config.sh
17 script: ./ci/build-linux-bazel.sh
18 - os: linux
19 compiler: clang
Gennadiy Civil73d12512018-01-11 16:57:44 -050020 sudo : true
Carlos O'Ryanbc3320b2017-12-08 20:59:07 -050021 install: ./ci/install-linux.sh && ./ci/log-config.sh
22 script: ./ci/build-linux-bazel.sh
23 - os: linux
Gennadiy Civil6eccdb72018-01-10 10:20:09 -050024 group: deprecated-2017Q4
Carlos O'Ryanbc3320b2017-12-08 20:59:07 -050025 compiler: gcc
Carlos O'Ryan75b85d52017-12-24 10:34:56 -050026 install: ./ci/install-linux.sh && ./ci/log-config.sh
27 script: ./ci/build-linux-autotools.sh
Carlos O'Ryanbc3320b2017-12-08 20:59:07 -050028 - os: linux
Gennadiy Civil6eccdb72018-01-10 10:20:09 -050029 group: deprecated-2017Q4
Carlos O'Ryanbc3320b2017-12-08 20:59:07 -050030 compiler: gcc
Carlos O'Ryan75b85d52017-12-24 10:34:56 -050031 env: BUILD_TYPE=Debug VERBOSE=1 CXX_FLAGS=-std=c++11
Carlos O'Ryanbc3320b2017-12-08 20:59:07 -050032 - os: linux
Gennadiy Civil6eccdb72018-01-10 10:20:09 -050033 group: deprecated-2017Q4
Carlos O'Ryanbc3320b2017-12-08 20:59:07 -050034 compiler: clang
35 env: BUILD_TYPE=Debug VERBOSE=1
36 - os: linux
Gennadiy Civil6eccdb72018-01-10 10:20:09 -050037 group: deprecated-2017Q4
Carlos O'Ryanbc3320b2017-12-08 20:59:07 -050038 compiler: clang
39 env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
Scott Graham95ec42d2018-04-27 11:27:06 -070040 - 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'Ryanbc3320b2017-12-08 20:59:07 -050043 - 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'Ryan67d6e462018-01-05 14:58:48 -050052 if: type != pull_request
Carlos O'Ryanbc3320b2017-12-08 20:59:07 -050053 - os: osx
Carlos O'Ryanbc3320b2017-12-08 20:59:07 -050054 env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
Carlos O'Ryan67d6e462018-01-05 14:58:48 -050055 if: type != pull_request
Carlos O'Ryanbc3320b2017-12-08 20:59:07 -050056
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 Donahuebbb54ef2015-08-31 02:19:39 -040059install:
Carlos O'Ryanbc3320b2017-12-08 20:59:07 -050060 - ./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.
Billy Donahuebbb54ef2015-08-31 02:19:39 -040067addons:
68 apt:
Anton Klautsanbbbc0252015-10-18 02:34:12 +010069 # 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 Donahuebbb54ef2015-08-31 02:19:39 -040073 sources:
74 - ubuntu-toolchain-r-test
Gennadiy Civil3dbba3b2018-08-29 22:02:08 -040075 - llvm-toolchain-precise-3.9
Billy Donahuebbb54ef2015-08-31 02:19:39 -040076 packages:
Billy Donahuebbb54ef2015-08-31 02:19:39 -040077 - g++-4.9
Gennadiy Civil3dbba3b2018-08-29 22:02:08 -040078 - clang-3.9
Carlos O'Ryanbc3320b2017-12-08 20:59:07 -050079
Billy Donahuebbb54ef2015-08-31 02:19:39 -040080notifications:
81 email: false