.travis.yml 1.98 KB
Newer Older
misterg's avatar
misterg committed
1
2
3
4
5
6
7
8
9
10
11
12
# 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
13
      before_install: chmod -R +x ./ci/*platformio.sh
misterg's avatar
misterg committed
14
      install: ./ci/install-platformio.sh
15
      script: ./ci/build-platformio.sh
misterg's avatar
misterg committed
16
    - os: linux
dmauro's avatar
dmauro committed
17
      dist: bionic
misterg's avatar
misterg committed
18
19
20
21
      compiler: gcc
      install: ./ci/install-linux.sh && ./ci/log-config.sh
      script: ./ci/build-linux-bazel.sh
    - os: linux
dmauro's avatar
dmauro committed
22
      dist: bionic
misterg's avatar
misterg committed
23
24
25
26
      compiler: clang
      install: ./ci/install-linux.sh && ./ci/log-config.sh
      script: ./ci/build-linux-bazel.sh
    - os: linux
dmauro's avatar
dmauro committed
27
      dist: bionic
misterg's avatar
misterg committed
28
      compiler: gcc
dmauro's avatar
dmauro committed
29
      env: BUILD_TYPE=Debug CXX_FLAGS="-std=c++11 -Wdeprecated"
misterg's avatar
misterg committed
30
    - os: linux
dmauro's avatar
dmauro committed
31
      dist: bionic
misterg's avatar
misterg committed
32
      compiler: clang
dmauro's avatar
dmauro committed
33
      env: BUILD_TYPE=Release CXX_FLAGS="-std=c++11 -Wdeprecated" NO_EXCEPTION=ON NO_RTTI=ON COMPILER_IS_GNUCXX=ON
misterg's avatar
misterg committed
34
    - os: osx
dmauro's avatar
dmauro committed
35
      osx_image: xcode12.2
misterg's avatar
misterg committed
36
      compiler: gcc
dmauro's avatar
dmauro committed
37
      env: BUILD_TYPE=Release CC=gcc-10 CXX=g++-10 CXX_FLAGS="-std=c++11 -Wdeprecated" HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
misterg's avatar
misterg committed
38
    - os: osx
dmauro's avatar
dmauro committed
39
      osx_image: xcode12.2
misterg's avatar
misterg committed
40
      compiler: clang
dmauro's avatar
dmauro committed
41
      env: BUILD_TYPE=Release CXX_FLAGS="-std=c++11 -Wdeprecated" HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
misterg's avatar
misterg committed
42
43
44
45
46
47
48
49
50
51

# 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

misterg's avatar
misterg committed
52
# This section installs the necessary dependencies.
misterg's avatar
misterg committed
53
54
55
addons:
  apt:
    packages:
dmauro's avatar
dmauro committed
56
57
    - g++
    - clang
misterg's avatar
misterg committed
58
59
60
    update: true
  homebrew:
    packages:
dmauro's avatar
dmauro committed
61
    - gcc@10
misterg's avatar
misterg committed
62
63
64
65
    update: true

notifications:
  email: false