.travis.yml 2.37 KB
Newer Older
Billy Donahue's avatar
Billy Donahue committed
1
2
3
4
5
# Build matrix / environment variable are explained on:
# http://about.travis-ci.org/docs/user/build-configuration/
# This file can be validated on:
# http://lint.travis-ci.org/

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
sudo: false
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
      compiler: gcc
      sudo: true
      cache:
      install: ./ci/install-linux.sh && ./ci/log-config.sh
      script: ./ci/build-linux-bazel.sh
    - os: linux
      compiler: clang
      sudo: true
      cache:
      install: ./ci/install-linux.sh && ./ci/log-config.sh
      script: ./ci/build-linux-bazel.sh
    - os: linux
      compiler: gcc
27
28
      install: ./ci/install-linux.sh && ./ci/log-config.sh
      script: ./ci/build-linux-autotools.sh
29
30
    - os: linux
      compiler: gcc
31
      env: BUILD_TYPE=Debug VERBOSE=1 CXX_FLAGS=-std=c++11
32
33
34
35
36
37
38
39
40
    - os: linux
      compiler: clang
      env: BUILD_TYPE=Debug VERBOSE=1
    - os: linux
      compiler: clang
      env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
    - os: osx
      compiler: gcc
      env: BUILD_TYPE=Debug VERBOSE=1
Carlos O'Ryan's avatar
Carlos O'Ryan committed
41
      if: event != pull_request
42
43
44
    - os: osx
      compiler: gcc
      env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
Carlos O'Ryan's avatar
Carlos O'Ryan committed
45
      if: event != pull_request
46
47
48
    - os: osx
      compiler: clang
      env: BUILD_TYPE=Debug VERBOSE=1
Carlos O'Ryan's avatar
Carlos O'Ryan committed
49
      if: event != pull_request
50
51
52
    - os: osx
      compiler: clang
      env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
Carlos O'Ryan's avatar
Carlos O'Ryan committed
53
      if: event != pull_request
54
55
56

# 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.
Billy Donahue's avatar
Billy Donahue committed
57
install:
58
59
60
61
62
63
64
  - ./ci/install-${TRAVIS_OS_NAME}.sh
  - . ./ci/env-${TRAVIS_OS_NAME}.sh
  - ./ci/log-config.sh

script: ./ci/travis.sh

# For sudo=false builds this section installs the necessary dependencies.
Billy Donahue's avatar
Billy Donahue committed
65
66
addons:
  apt:
Anton Klautsan's avatar
Anton Klautsan committed
67
68
69
70
    # 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
Billy Donahue's avatar
Billy Donahue committed
71
72
    sources:
    - ubuntu-toolchain-r-test
Anton Klautsan's avatar
Anton Klautsan committed
73
    - llvm-toolchain-precise-3.7
Billy Donahue's avatar
Billy Donahue committed
74
75
    packages:
    - g++-4.9
Anton Klautsan's avatar
Anton Klautsan committed
76
    - clang-3.7
77

Billy Donahue's avatar
Billy Donahue committed
78
79
notifications:
  email: false