Home | History | Annotate | Download | only in googletest
      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 
      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       dist: trusty
     15       sudo: required
     16       group: deprecated-2017Q3
     17       before_install: chmod -R +x ./ci/*platformio.sh 
     18       install: ./ci/install-platformio.sh
     19       script: ./ci/build-platformio.sh      
     20     - os: linux
     21       compiler: gcc
     22       sudo : true
     23       install: ./ci/install-linux.sh && ./ci/log-config.sh
     24       script: ./ci/build-linux-bazel.sh
     25     - os: linux
     26       compiler: clang
     27       sudo : true
     28       install: ./ci/install-linux.sh && ./ci/log-config.sh
     29       script: ./ci/build-linux-bazel.sh
     30     - os: linux
     31       group: deprecated-2017Q4
     32       compiler: gcc
     33       install: ./ci/install-linux.sh && ./ci/log-config.sh
     34       script: ./ci/build-linux-autotools.sh
     35       env: VERBOSE=1 CXXFLAGS=-std=c++11
     36     - os: linux
     37       group: deprecated-2017Q4
     38       compiler: gcc
     39       env: BUILD_TYPE=Debug VERBOSE=1 CXX_FLAGS=-std=c++11 
     40     - os: linux
     41       group: deprecated-2017Q4
     42       compiler: clang
     43       env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 -Wgnu-zero-variadic-macro-arguments
     44     - os: linux
     45       compiler: clang
     46       env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 NO_EXCEPTION=ON NO_RTTI=ON COMPILER_IS_GNUCXX=ON
     47     - os: osx
     48       compiler: gcc
     49       env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
     50     - os: osx
     51       compiler: clang
     52       env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
     53 
     54 # These are the install and build (script) phases for the most common entries in the matrix.  They could be included
     55 # in each entry in the matrix, but that is just repetitive.
     56 install:
     57   - ./ci/install-${TRAVIS_OS_NAME}.sh
     58   - . ./ci/env-${TRAVIS_OS_NAME}.sh
     59   - ./ci/log-config.sh
     60 
     61 script: ./ci/travis.sh
     62 
     63 # For sudo=false builds this section installs the necessary dependencies.
     64 addons:
     65   apt:
     66     # List of whitelisted in travis packages for ubuntu-precise can be found here:
     67     #   https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
     68     # List of whitelisted in travis apt-sources:
     69     #   https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
     70     sources:
     71     - ubuntu-toolchain-r-test
     72     - llvm-toolchain-precise-3.9
     73     packages:
     74     - g++-4.9
     75     - clang-3.9
     76     update: true
     77   homebrew:
     78     packages:
     79     - ccache
     80     - gcc (a] 4.9
     81     - llvm (a] 3.9
     82     update: true
     83 
     84 notifications:
     85   email: false
     86