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/
8 # Define the matrix explicitly, manually expanding the combinations of (os, compiler, env).
9 # It is more tedious, but grants us far more flexibility.
13 before_install: chmod -R +x ./ci/*platformio.sh
14 install: ./ci/install-platformio.sh
15 script: ./ci/build-platformio.sh
19 install: ./ci/install-linux.sh && ./ci/log-config.sh
20 script: ./ci/build-linux-bazel.sh
24 install: ./ci/install-linux.sh && ./ci/log-config.sh
25 script: ./ci/build-linux-bazel.sh
28 env: BUILD_TYPE=Debug VERBOSE=1 CXX_FLAGS=-std=c++11
31 env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 -Wgnu-zero-variadic-macro-arguments
34 env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 NO_EXCEPTION=ON NO_RTTI=ON COMPILER_IS_GNUCXX=ON
37 env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
40 env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
42 # These are the install and build (script) phases for the most common entries in the matrix. They could be included
43 # in each entry in the matrix, but that is just repetitive.
45 - ./ci/install-${TRAVIS_OS_NAME}.sh
46 - . ./ci/env-${TRAVIS_OS_NAME}.sh
49 script: ./ci/travis.sh
51 # This section installs the necessary dependencies.
54 # List of whitelisted in travis packages for ubuntu-precise can be found here:
55 # https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
56 # List of whitelisted in travis apt-sources:
57 # https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
59 - ubuntu-toolchain-r-test
60 - llvm-toolchain-precise-3.9