# 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
      before_install: chmod -R +x ./ci/*platformio.sh
      install: ./ci/install-platformio.sh
      script: ./ci/build-platformio.sh
    - os: linux
      dist: bionic
      compiler: gcc
      install: ./ci/install-linux.sh && ./ci/log-config.sh
      script: ./ci/build-linux-bazel.sh
    - os: linux
      dist: bionic
      compiler: clang
      install: ./ci/install-linux.sh && ./ci/log-config.sh
      script: ./ci/build-linux-bazel.sh
    - os: linux
      dist: bionic
      compiler: gcc
      env: BUILD_TYPE=Debug CXX_FLAGS="-std=c++11 -Wdeprecated"
    - os: linux
      dist: bionic
      compiler: clang
      env: BUILD_TYPE=Release CXX_FLAGS="-std=c++11 -Wdeprecated" NO_EXCEPTION=ON NO_RTTI=ON COMPILER_IS_GNUCXX=ON
    - os: osx
      osx_image: xcode12.2
      compiler: gcc
      env: BUILD_TYPE=Release CC=gcc-10 CXX=g++-10 CXX_FLAGS="-std=c++11 -Wdeprecated" HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
    - os: osx
      osx_image: xcode12.2
      compiler: clang
      env: BUILD_TYPE=Release CXX_FLAGS="-std=c++11 -Wdeprecated" HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp

# 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

# This section installs the necessary dependencies.
addons:
  apt:
    packages:
    - g++
    - clang
    update: true
  homebrew:
    packages:
    - gcc@10
    update: true

notifications:
  email: false
