summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 191a42458e6d990d25af93939655054823c3cd61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
language: cpp

sudo: false

# Save common build configurations as shortcuts, so we can reference them later.
addons_shortcuts:
  addons_clang35: &clang35
    apt:
      sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ]
      packages: [ 'gdb', 'clang-3.5', 'libstdc++-4.9-dev', 'libstdc++6', 'libllvm3.4', 'xutils-dev',
                  'libxxf86vm-dev', 'x11proto-xf86vidmode-dev', 'mesa-utils' ]
  addons_gcc49: &gcc49
    apt:
      sources: [ 'ubuntu-toolchain-r-test' ]
      packages: [ 'gdb', 'g++-4.9', 'gcc-4.9', 'libllvm3.4', 'xutils-dev',
                  'libxxf86vm-dev', 'x11proto-xf86vidmode-dev', 'mesa-utils' ]
  addons_clang38-tidy: &clang38-tidy
    apt:
      sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise' ]
      packages: [ 'clang-tidy-3.8', 'clang-3.8', 'libgcc-4.9-dev', 'libstdc++-4.9-dev', 'libstdc++6',
                  'libllvm3.4', 'libclang-common-3.8-dev', 'libclang1-3.8', 'liblldb-3.8',
                  'libllvm3.8', 'lldb-3.8', 'llvm-3.8', 'llvm-3.8-dev', 'llvm-3.8-runtime', 'xutils-dev',
                  'libxxf86vm-dev', 'x11proto-xf86vidmode-dev', 'mesa-utils' ]

matrix:
  exclude:
    - os: linux
  include:

    # OS X/Node.js 4 - Xcode 7
    - os: osx
      osx_image: xcode7
      compiler: clang
      env: FLAVOR=node NODE_VERSION=4

    # Linux/Node.js 4 - Clang 3.5 - Release
    - os: linux
      compiler: ": node4-clang35-release"
      env: FLAVOR=node BUILDTYPE=Release NODE_VERSION=4 _CXX=clang++-3.5 _CC=clang-3.5 CCACHE=1
      addons: *clang35

    # Linux - GCC 4.9 - Debug
    - os: linux
      compiler: ": linux-gcc49-debug"
      env: FLAVOR=linux ACTION=coveralls _CXX=g++-4.9 _CC=gcc-4.9 CCACHE=1
      addons: *gcc49

    # Linux - GCC 4.9 - Release
    - os: linux
      compiler: ": linux-gcc49-release"
      env: FLAVOR=linux BUILDTYPE=Release _CXX=g++-4.9 _CC=gcc-4.9 CCACHE=1
      addons: *gcc49

    # Linux - Clang 3.5 - Debug
    - os: linux
      compiler: ": linux-clang35-debug"
      env: FLAVOR=linux BUILDTYPE=Debug _CXX=clang++-3.5 _CC=clang-3.5 CCACHE=1
      addons: *clang35

    # Linux - Clang 3.5 - Release
    - os: linux
      compiler: ": linux-clang35-release"
      env: FLAVOR=linux BUILDTYPE=Release _CXX=clang++-3.5 _CC=clang-3.5 CCACHE=1
      addons: *clang35

    # clang-tidy - Clang 3.8 - Release
    - os: linux
      compiler: ": tidy-clang38-release"
      env: FLAVOR=linux ACTION=tidy BUILDTYPE=Release _CXX=clang++-3.8 _CC=clang-3.8 AWS_ACCESS_KEY_ID=
      addons: *clang38-tidy

cache:
  directories:
    - $HOME/.ccache
    - $HOME/.cache/pip
    - $HOME/build/mapbox/mapbox-gl-native/.binaries
    - $HOME/build/mapbox/mapbox-gl-native/.scripts

env:
  global:
    - TERM: dumb
    # AWS
    - secure: "MZHblLZXG/jWf2w0ZFlxCLDwx2qtGgRDODQyg1BR7JIuMz6AtWv8XR/sUczWLbiABCL0a/NzJF1g4v2pI7X69IntcjOdIABBgTh7++6+1TJ0Kp8viEltb55nQG3lHy/R6fOaI7Pj9tuCX0PCRtGA5C/fGnodLGEjy3RVOJ09ln0="
    - secure: "KaSQbhgjtV7ZCkesHmvrNsbQVjk5SPfGKB1VkWenRGYhLF45HpSRNwSxMQddZ566Pg7qIFgF1iWl/B0QW3B6AWL5WmzQ5AOJgwS876pNIc/UT7ubMPtgAtjpvw1bQvQP3B8MrB+3OE5c6tD+a3LhR9krV//dOsfErR5Yy+3Mbkc="
    # Access Token
    - secure: "RiBIBfVhhaMjU5ksuwJO3shdvG9FpinBjdSv4co9jg9171SR8edNriedHjVKSIeBhSGNmZmX+twS3dJS/By6tl/LKh9sTynA+ZAYYljkE7jn881B/gMrlYvdAA6og5KvkhV1/0iJWlhuZrMTkhpDR200iLgg3EWBhWjltzmDW/I="

before_install:
- source ./scripts/set_compiler.sh
- source ./scripts/travis_helper.sh
- if [[ ${ACTION:-0} == 'coveralls' ]]; then
    rvm install 2.3.0;
    rvm use 2.3.0;
    rvm rubygems latest --force;
    gem install coveralls-lcov;
  fi

install:
- ./platform/${FLAVOR}/scripts/install.sh

before_script:
- if command -v ccache >/dev/null 2>&1; then ccache --zero-stats ; fi

script:
- ./platform/${FLAVOR}/scripts/${ACTION:-run}.sh

after_failure:
- "[ -f ./platform/${FLAVOR}/scripts/after_failure.sh ] && ./platform/${FLAVOR}/scripts/after_failure.sh"

after_script:
- if command -v ccache >/dev/null 2>&1; then ccache --show-stats ; fi
- "[ -f ./platform/${FLAVOR}/scripts/after_script.sh ] && ./platform/${FLAVOR}/scripts/after_script.sh"

notifications:
  slack:
    secure: HHQYr7sF8M1SzoWSqgKVYtwAgGdLLCyTMsQjFhEEQNYO92ZwURE5s03qWTGH5k8+4Yqn26yrXt3NztLC4JIOpcGervN2mSZyq4dZgFTcWEd61igw0qwSenlwvFfbE1ASK/KYCzfyn9MIfHN+ovwLoRxXZkPwinKDvl3DXjBaFNg=

git:
  submodules: false