summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 9bbd27b825a3096955350022ddd9d4b21bedf4a1 (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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
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 - Xcode 7 - Debug
    - os: osx
      osx_image: xcode7
      compiler: clang
      env: FLAVOR=osx BUILDTYPE=Debug


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

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

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


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

    # 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/Node.js 0.10 - Clang 3.5 - Release
    - os: linux
      compiler: ": node0.10-clang35-release"
      env: FLAVOR=node BUILDTYPE=Release NODE_VERSION=0.10 _CXX=clang++-3.5 _CC=clang-3.5 CCACHE=1
      addons: *clang35


    # 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="
    # iOS code signing
    - secure: "I6Iu75X1E+js5tzijtKi1EGtIuBcA4/25nDYe0svV4HAtujY71ZJZ4eB6355CKhFXpLXrF3i7eKVX3v+zWS0QROPEWacgsqsvNg+Ba9cnznW/faUSOYekCfhzWd/6reYDM7KzKAQwSUHLk9JIWK/kkmi4r+vVJK7h+tjPllK5YA="
    - IOS_APP_NAME="Mapbox GL"
    - 'IOS_DEVELOPER_NAME="iPhone Distribution: Mapbox, Inc."'
    - IOS_PROFILE_NAME="ios-in-house"
    - secure: "nQqSM8rd7OHtV4MqmNqVnkrVHqxKqQsaWRYk4/nPdhbeVWtTtkk0df711LrF1TUtbEPEewHxYUvTZ/UXmwJNeoKdzTHavI8hnatRkgjyxGERPn1il1Otelht9I+LQQHf+plrpRjVWBrNIW0Zox1B3cqn6d3NglpbXrEQ2EjYGNA="
    - KIF_SCREENSHOTS="${TRAVIS_BUILD_DIR}/screenshots"

before_install:
- source ./scripts/set_compiler.sh
- source ./scripts/travis_helper.sh

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

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

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

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

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

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

git:
  submodules: false