2019-02-12 19:48:51 +03:00
|
|
|
# Build matrix / environment variable are explained on:
|
|
|
|
# https://docs.travis-ci.com/user/customizing-the-build/
|
|
|
|
# This file can be validated on:
|
|
|
|
# http://lint.travis-ci.org/
|
|
|
|
|
|
|
|
language: cpp
|
|
|
|
|
|
|
|
# Define the matrix explicitly, manually expanding the combinations of (os, compiler, env).
|
|
|
|
# It is more tedious, but grants us far more flexibility.
|
|
|
|
matrix:
|
|
|
|
include:
|
|
|
|
- os: linux
|
2019-07-25 10:46:15 +03:00
|
|
|
before_install: chmod -R +x ./ci/*platformio.sh
|
2019-02-12 19:48:51 +03:00
|
|
|
install: ./ci/install-platformio.sh
|
2019-07-25 10:46:15 +03:00
|
|
|
script: ./ci/build-platformio.sh
|
2019-02-12 19:48:51 +03:00
|
|
|
- os: linux
|
2020-05-28 22:37:07 +03:00
|
|
|
dist: bionic
|
2019-02-12 19:48:51 +03:00
|
|
|
compiler: gcc
|
|
|
|
install: ./ci/install-linux.sh && ./ci/log-config.sh
|
|
|
|
script: ./ci/build-linux-bazel.sh
|
|
|
|
- os: linux
|
2020-05-28 22:37:07 +03:00
|
|
|
dist: bionic
|
2019-02-12 19:48:51 +03:00
|
|
|
compiler: clang
|
|
|
|
install: ./ci/install-linux.sh && ./ci/log-config.sh
|
|
|
|
script: ./ci/build-linux-bazel.sh
|
|
|
|
- os: linux
|
2020-05-28 22:37:07 +03:00
|
|
|
dist: bionic
|
2019-02-12 19:48:51 +03:00
|
|
|
compiler: gcc
|
2020-03-28 08:24:58 +03:00
|
|
|
env: BUILD_TYPE=Debug VERBOSE=1 CXX_FLAGS="-std=c++11 -Wdeprecated"
|
2019-02-12 19:48:51 +03:00
|
|
|
- os: linux
|
2020-05-28 22:37:07 +03:00
|
|
|
dist: bionic
|
2019-02-12 19:48:51 +03:00
|
|
|
compiler: clang
|
2020-03-28 08:24:58 +03:00
|
|
|
env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS="-std=c++11 -Wdeprecated" NO_EXCEPTION=ON NO_RTTI=ON COMPILER_IS_GNUCXX=ON
|
2019-02-12 19:48:51 +03:00
|
|
|
- os: osx
|
|
|
|
compiler: gcc
|
2020-03-28 08:24:58 +03:00
|
|
|
env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS="-std=c++11 -Wdeprecated" HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
|
2019-02-12 19:48:51 +03:00
|
|
|
- os: osx
|
|
|
|
compiler: clang
|
2020-03-28 08:24:58 +03:00
|
|
|
env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS="-std=c++11 -Wdeprecated" HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
|
2019-02-12 19:48:51 +03:00
|
|
|
|
|
|
|
# These are the install and build (script) phases for the most common entries in the matrix. They could be included
|
|
|
|
# in each entry in the matrix, but that is just repetitive.
|
|
|
|
install:
|
|
|
|
- ./ci/install-${TRAVIS_OS_NAME}.sh
|
|
|
|
- . ./ci/env-${TRAVIS_OS_NAME}.sh
|
|
|
|
- ./ci/log-config.sh
|
|
|
|
|
|
|
|
script: ./ci/travis.sh
|
|
|
|
|
2019-08-05 23:42:55 +03:00
|
|
|
# This section installs the necessary dependencies.
|
2019-02-12 19:48:51 +03:00
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
2020-05-28 22:37:07 +03:00
|
|
|
- g++
|
|
|
|
- clang
|
2019-02-12 19:48:51 +03:00
|
|
|
update: true
|
|
|
|
homebrew:
|
|
|
|
packages:
|
|
|
|
- ccache
|
|
|
|
- gcc@4.9
|
2019-09-27 23:23:47 +03:00
|
|
|
- llvm@4
|
2019-02-12 19:48:51 +03:00
|
|
|
update: true
|
|
|
|
|
|
|
|
notifications:
|
|
|
|
email: false
|