.travis.yml 2.47 KB
Newer Older
misterg's avatar
misterg committed
1
2
3
4
5
# 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/

Abseil Team's avatar
Abseil Team committed
6
sudo: false
misterg's avatar
misterg committed
7
8
9
10
11
12
13
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
Abseil Team's avatar
Abseil Team committed
14
      sudo: required
15
      before_install: chmod -R +x ./ci/*platformio.sh
misterg's avatar
misterg committed
16
      install: ./ci/install-platformio.sh
17
      script: ./ci/build-platformio.sh
misterg's avatar
misterg committed
18
    - os: linux
misterg's avatar
misterg committed
19
      dist: xenial
misterg's avatar
misterg committed
20
      compiler: gcc
Abseil Team's avatar
Abseil Team committed
21
      sudo : true
misterg's avatar
misterg committed
22
23
24
      install: ./ci/install-linux.sh && ./ci/log-config.sh
      script: ./ci/build-linux-bazel.sh
    - os: linux
misterg's avatar
misterg committed
25
      dist: xenial
misterg's avatar
misterg committed
26
      compiler: clang
Abseil Team's avatar
Abseil Team committed
27
      sudo : true
misterg's avatar
misterg committed
28
29
30
31
      install: ./ci/install-linux.sh && ./ci/log-config.sh
      script: ./ci/build-linux-bazel.sh
    - os: linux
      compiler: gcc
32
      env: BUILD_TYPE=Debug VERBOSE=1 CXX_FLAGS=-std=c++11
misterg's avatar
misterg committed
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
    - os: linux
      compiler: clang
      env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 -Wgnu-zero-variadic-macro-arguments
    - os: linux
      compiler: clang
      env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 NO_EXCEPTION=ON NO_RTTI=ON COMPILER_IS_GNUCXX=ON
    - os: osx
      compiler: gcc
      env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 HOMEBREW_LOGS=~/homebrew-logs HOMEBREW_TEMP=~/homebrew-temp
    - os: osx
      compiler: clang
      env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 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

Abseil Team's avatar
Abseil Team committed
55
# For sudo=false builds this section installs the necessary dependencies.
misterg's avatar
misterg committed
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
addons:
  apt:
    # List of whitelisted in travis packages for ubuntu-precise can be found here:
    #   https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
    # List of whitelisted in travis apt-sources:
    #   https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
    sources:
    - ubuntu-toolchain-r-test
    - llvm-toolchain-precise-3.9
    packages:
    - g++-4.9
    - clang-3.9
    update: true
  homebrew:
    packages:
    - ccache
    - gcc@4.9
    - llvm@3.9
    update: true

notifications:
  email: false