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 |
Krystian Kuzniarek | 28e1dde | 2019-07-25 09:46:15 +0200 | [diff] [blame] | 13 | before_install: chmod -R +x ./ci/*platformio.sh |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 14 | install: ./ci/install-platformio.sh |
Krystian Kuzniarek | 28e1dde | 2019-07-25 09:46:15 +0200 | [diff] [blame] | 15 | script: ./ci/build-platformio.sh |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 16 | - os: linux |
misterg | 1d721a7 | 2019-06-18 14:21:57 -0400 | [diff] [blame] | 17 | dist: xenial |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 18 | compiler: gcc |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 19 | install: ./ci/install-linux.sh && ./ci/log-config.sh |
| 20 | script: ./ci/build-linux-bazel.sh |
| 21 | - os: linux |
misterg | 1d721a7 | 2019-06-18 14:21:57 -0400 | [diff] [blame] | 22 | dist: xenial |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 23 | compiler: clang |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 24 | install: ./ci/install-linux.sh && ./ci/log-config.sh |
| 25 | script: ./ci/build-linux-bazel.sh |
| 26 | - os: linux |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 27 | compiler: gcc |
Krystian Kuzniarek | 28e1dde | 2019-07-25 09:46:15 +0200 | [diff] [blame] | 28 | env: BUILD_TYPE=Debug VERBOSE=1 CXX_FLAGS=-std=c++11 |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 29 | - os: linux |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 30 | compiler: clang |
| 31 | env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 -Wgnu-zero-variadic-macro-arguments |
| 32 | - os: linux |
| 33 | compiler: clang |
| 34 | env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 NO_EXCEPTION=ON NO_RTTI=ON COMPILER_IS_GNUCXX=ON |
| 35 | - os: osx |
| 36 | compiler: gcc |
| 37 | env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp |
| 38 | - os: osx |
| 39 | compiler: clang |
| 40 | env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp |
| 41 | |
| 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. |
| 44 | install: |
| 45 | - ./ci/install-${TRAVIS_OS_NAME}.sh |
| 46 | - . ./ci/env-${TRAVIS_OS_NAME}.sh |
| 47 | - ./ci/log-config.sh |
| 48 | |
| 49 | script: ./ci/travis.sh |
| 50 | |
misterg | 9f8c393 | 2019-08-05 16:42:55 -0400 | [diff] [blame] | 51 | # This section installs the necessary dependencies. |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 52 | addons: |
| 53 | apt: |
| 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 |
| 58 | sources: |
| 59 | - ubuntu-toolchain-r-test |
| 60 | - llvm-toolchain-precise-3.9 |
| 61 | packages: |
| 62 | - g++-4.9 |
| 63 | - clang-3.9 |
| 64 | update: true |
| 65 | homebrew: |
| 66 | packages: |
| 67 | - ccache |
| 68 | - gcc@4.9 |
misterg | 72adf7a | 2019-09-27 16:23:47 -0400 | [diff] [blame] | 69 | - llvm@4 |
misterg | c4ccab3 | 2019-02-12 11:48:51 -0500 | [diff] [blame] | 70 | update: true |
| 71 | |
| 72 | notifications: |
| 73 | email: false |