.travis.yml 19.4 KB
Newer Older
O
Olli-Pekka Heinisuo 已提交
1 2
env:
    global:
3 4
        - "PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }'"
        # pip dependencies to _test_ your project
5
        - TEST_DEPENDS="numpy==1.11.1"
6 7
        # params to bdist_wheel. used to set osx build target.
        - BDIST_PARAMS=""
8

O
Olli-Pekka Heinisuo 已提交
9 10
        - PLAT=x86_64
        - UNICODE_WIDTH=32
11 12
        - secure: "mU040XIYWtDjRms27deQy5fNg9HBFF9fiLfSteBaMjopZKXFUBsdMTKYGEVvX8DA879guMdjG8Prw1aCFhTTYlWgJ0Afm4YucRC0vAD4HLNhqLJ2lIpRceR3+2qPX+Oz5ATVVRi3ghBeJ20LLtNgOgf6esQVjdrYNC+YqmguClHKEYAxS7ngW42iQP8HX2anRcz9q9H7exZ9fX/D1PJfMNka/mNaB5KXZu5zdLuk/E0VbWU2tMWVIDUvx4uBlpE1d8HixEV5LHnuVE/QI36BcyucYxstTNKW6pGYgrhkYf+0PX4BphZXwY7EUBwzXsYLmyge6yH8W6NfvTW0ZasFF6xzQc9bsj+gAZN7H+hN2a42VQqIpkoJw9sU0hqzCOQf6ZvWUQgwFdAHJRHqe/zk4456WxnF0kAgbZdKaGOl0/n0WvgHNqD5bgO8Zzb1XyJTKoR+eAtYKXuz3KgpxKvZMMQVr8wMlI1cFEuGjIm+7ZrYB5jPvQrVzV/DgOq4gkPHOjjhu478UFlhGA9/XWwcyidC3b7zuBN2E7xVuTMlKdk7URB3AHXfG5bZgUG80vllQDGXQDpHVnv4Qi8bGCzI4iKTpp4fCibbqxFLxW1jhjmgePseGcie7Avpe+zXznkbmM2BqMCu3QRmtmFL3eCifwMf3rCNlAs0Sd3iLmEvyos="
        - secure: "omn6B+H6s0g1p9rhLGhFtFN1bSB80HCsNUUD9ROEpUirk7Sj7Wxms4CDi1f7aACANsZPXD7YZ72oNpWDJ6hSfTBf2yN1/d1iPILs7F5jt0yeratkDEOXkys1QpfMNO7r3DZ17X3IwvUGy9Mm+Sv15k+DaBdQ/65qwQ4ORIbHZRv3/lwkQ7Z88utjx6DLa9Jwc8fnEjjzIry51lO3OGJoWrjOZlOi2HV9MZ69PuuBdEEuicwfeLnV64QWRle++B51TQZC/3HF5+BBvYXm0LdvV4nSQVa9nTXaOWYcBROPNZizktJI91G6vG6gghWmI1cDR53n9LgCbA3YkPTJm/5Gjn9D+gfU5F16WQ4PFOHfzPZD8nTVmlUDUiuQ30W9QZ+O2ct7wi/xF4/Ff7V+0RIqGSnjhX6SGWk7UziQyGgCjBvYiRIQzfUyGu+86vrqNVXCyBlKOz6rWStTyq/Z0KEIXZFqop+ddeYdsEem5ZxCQ51uTpRMynVgEdKj++1Hn5411Rhntw0Am7RWdDEbFJ65OUyIpNtvlcHVM7ur03oz0hGcZIIkxWHJrCdr80Nw9r/s6KXYvidCNsu4SPx0XYo8KiTA6E2lkIAa5Ct6dZR6m5gjG2vmvlKzRmoD/7byJZN66usNxBh2LuKlgNFuHfG6iR+I6f3XCNmSUOJfm7KZYVI="
O
Olli-Pekka Heinisuo 已提交
13

14 15 16 17

# Host Python is never used
language: generic
# Required to invoke docker ourselves as per https://docs.travis-ci.com/user/docker/
O
Olli-Pekka Heinisuo 已提交
18 19
sudo: required
services: docker
20 21 22 23 24 25 26 27
# https://docs.travis-ci.com/user/reference/trusty/
dist: trusty

# Save some time, we and setup check them out on demand instead
# https://docs.travis-ci.com/user/customizing-the-build/#Git-Clone-Depth
git:
    submodules: false

28 29 30 31 32 33 34 35
# https://docs.travis-ci.com/user/caching
cache:
  directories:
    # https://stackoverflow.com/questions/39930171/cache-brew-builds-with-travis-ci
    - $HOME/Library/Caches/Homebrew
    - /usr/local/Homebrew/
    # used in OSX custom build script dealing with local bottle caching
    - $HOME/local_bottle_metadata
I
Ivan Pozdeev 已提交
36 37
    # `cache: ccache: true` has no effect if `language:` is not `c` or `cpp`
    - $HOME/.ccache
38
    
39
matrix:
40
  fast_finish: true
41
  include:
42

O
Olli-Pekka Heinisuo 已提交
43
    # default builds for MacOS
44
    - os: osx
45
      language: generic
46
      osx_image: xcode8
47 48 49
      env:
        - MB_PYTHON_VERSION=2.7
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
50
        - ENABLE_HEADLESS=0
51
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
52
    - os: osx
53
      language: generic
54
      osx_image: xcode8
55 56 57
      env:
        - MB_PYTHON_VERSION=3.4
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
58
        - ENABLE_HEADLESS=0
59
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
60
    - os: osx
61
      language: generic
62
      osx_image: xcode8
63 64 65
      env:
        - MB_PYTHON_VERSION=3.5
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
66
        - ENABLE_HEADLESS=0
67
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
68
    - os: osx
69
      language: generic
70
      osx_image: xcode8
71 72 73
      env:
        - MB_PYTHON_VERSION=3.6
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
74
        - ENABLE_HEADLESS=0
75
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
76 77
    - os: osx
      language: generic
78
      osx_image: xcode8
79 80 81 82
      env:
        - MB_PYTHON_VERSION=3.7
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
83 84
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
        - TEST_DEPENDS=numpy==1.14.5
O
Olli-Pekka Heinisuo 已提交
85 86 87 88

    # headless builds for MacOS
    - os: osx
      language: generic
89
      osx_image: xcode8
O
Olli-Pekka Heinisuo 已提交
90 91 92 93
      env:
        - MB_PYTHON_VERSION=2.7
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=1
94
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
O
Olli-Pekka Heinisuo 已提交
95 96
    - os: osx
      language: generic
97
      osx_image: xcode8
O
Olli-Pekka Heinisuo 已提交
98 99 100 101
      env:
        - MB_PYTHON_VERSION=3.4
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=1
102
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
O
Olli-Pekka Heinisuo 已提交
103 104
    - os: osx
      language: generic
105
      osx_image: xcode8
O
Olli-Pekka Heinisuo 已提交
106 107 108 109
      env:
        - MB_PYTHON_VERSION=3.5
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=1
110
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
O
Olli-Pekka Heinisuo 已提交
111 112
    - os: osx
      language: generic
113
      osx_image: xcode8
O
Olli-Pekka Heinisuo 已提交
114 115 116 117
      env:
        - MB_PYTHON_VERSION=3.6
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=1
118
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
119 120
    - os: osx
      language: generic
121
      osx_image: xcode8
122 123 124 125
      env:
        - MB_PYTHON_VERSION=3.7
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=1
126 127
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
        - TEST_DEPENDS=numpy==1.14.5
128

O
Olli-Pekka Heinisuo 已提交
129
    # Contrib builds for MacOS
130
    - os: osx
131
      language: generic
132
      osx_image: xcode8
133 134
      env:
        - MB_PYTHON_VERSION=2.7
O
Olli-Pekka Heinisuo 已提交
135
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
136
        - ENABLE_HEADLESS=0
137
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
138
    - os: osx
139
      language: generic
140
      osx_image: xcode8
141 142
      env:
        - MB_PYTHON_VERSION=3.4
143
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
144
        - ENABLE_HEADLESS=0
145
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
146
    - os: osx
147
      language: generic
148
      osx_image: xcode8
149 150
      env:
        - MB_PYTHON_VERSION=3.5
151
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
152
        - ENABLE_HEADLESS=0
153
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
154
    - os: osx
155
      language: generic
156
      osx_image: xcode8
157 158
      env:
        - MB_PYTHON_VERSION=3.6
159
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
160
        - ENABLE_HEADLESS=0
161
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
162 163
    - os: osx
      language: generic
164
      osx_image: xcode8
165 166 167 168
      env:
        - MB_PYTHON_VERSION=3.7
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
169 170
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
        - TEST_DEPENDS=numpy==1.14.5
O
Olli-Pekka Heinisuo 已提交
171 172 173 174

    # headless contrib builds for MacOS
    - os: osx
      language: generic
175
      osx_image: xcode8
O
Olli-Pekka Heinisuo 已提交
176 177 178 179
      env:
        - MB_PYTHON_VERSION=2.7
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=1
180
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
O
Olli-Pekka Heinisuo 已提交
181 182
    - os: osx
      language: generic
183
      osx_image: xcode8
O
Olli-Pekka Heinisuo 已提交
184 185 186 187
      env:
        - MB_PYTHON_VERSION=3.4
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=1
188
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
O
Olli-Pekka Heinisuo 已提交
189 190
    - os: osx
      language: generic
191
      osx_image: xcode8
O
Olli-Pekka Heinisuo 已提交
192 193 194 195
      env:
        - MB_PYTHON_VERSION=3.5
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=1
196
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
O
Olli-Pekka Heinisuo 已提交
197 198
    - os: osx
      language: generic
199
      osx_image: xcode8
O
Olli-Pekka Heinisuo 已提交
200 201 202 203
      env:
        - MB_PYTHON_VERSION=3.6
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=1
204
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
205 206
    - os: osx
      language: generic
207
      osx_image: xcode8
208 209 210 211
      env:
        - MB_PYTHON_VERSION=3.7
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=1
212 213
        - BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
        - TEST_DEPENDS=numpy==1.14.5
214

O
Olli-Pekka Heinisuo 已提交
215
    # default builds for Linux
216 217 218 219
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
220
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
221 222
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
223 224 225 226 227 228
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - UNICODE_WIDTH=16
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
229 230
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
231 232 233 234 235 236
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - PLAT=i686
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
237 238
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
239 240 241 242 243 244 245
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - PLAT=i686
        - UNICODE_WIDTH=16
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
246 247
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
248 249 250 251 252
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.4
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
253 254
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
255 256 257 258 259 260
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.4
        - PLAT=i686
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
261 262
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
263 264 265 266 267
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.5
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
268 269
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
270 271 272 273 274 275
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.5
        - PLAT=i686
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
276 277
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
278 279 280 281 282 283
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.6
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
        - TEST_DEPENDS=numpy==1.11.3
I
Ivan Pozdeev 已提交
284 285
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
286 287 288 289 290 291 292
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.6
        - PLAT=i686
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
        - TEST_DEPENDS=numpy==1.11.3
I
Ivan Pozdeev 已提交
293 294
      cache:
        directories: $HOME/.ccache
295 296 297 298 299 300
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.7
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
        - TEST_DEPENDS=numpy==1.14.5
I
Ivan Pozdeev 已提交
301 302
      cache:
        directories: $HOME/.ccache
303 304 305 306 307 308 309
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.7
        - PLAT=i686
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
        - TEST_DEPENDS=numpy==1.14.5
I
Ivan Pozdeev 已提交
310 311
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
312 313 314 315 316 317 318

    # headless builds for Linux
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
319 320
      cache:
        directories: $HOME/.ccache
321 322 323 324 325
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - UNICODE_WIDTH=16
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
326
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
327 328
      cache:
        directories: $HOME/.ccache
329 330 331 332 333
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - PLAT=i686
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
334
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
335 336
      cache:
        directories: $HOME/.ccache
337 338 339 340 341 342
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - PLAT=i686
        - UNICODE_WIDTH=16
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
343
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
344 345
      cache:
        directories: $HOME/.ccache
346 347 348 349
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.4
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
350
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
351 352
      cache:
        directories: $HOME/.ccache
353 354 355 356 357
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.4
        - PLAT=i686
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
358
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
359 360
      cache:
        directories: $HOME/.ccache
361 362 363 364
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.5
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
365
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
366 367
      cache:
        directories: $HOME/.ccache
368 369 370 371 372
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.5
        - PLAT=i686
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
373
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
374 375
      cache:
        directories: $HOME/.ccache
376 377 378 379
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.6
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
380
        - ENABLE_HEADLESS=1
381
        - TEST_DEPENDS=numpy==1.11.3
I
Ivan Pozdeev 已提交
382 383
      cache:
        directories: $HOME/.ccache
384 385 386 387 388
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.6
        - PLAT=i686
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
389
        - ENABLE_HEADLESS=1
390
        - TEST_DEPENDS=numpy==1.11.3
I
Ivan Pozdeev 已提交
391 392
      cache:
        directories: $HOME/.ccache
393 394 395 396 397 398
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.7
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=1
        - TEST_DEPENDS=numpy==1.14.5
I
Ivan Pozdeev 已提交
399 400
      cache:
        directories: $HOME/.ccache
401 402 403 404 405 406 407
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.7
        - PLAT=i686
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=1
        - TEST_DEPENDS=numpy==1.14.5
I
Ivan Pozdeev 已提交
408 409
      cache:
        directories: $HOME/.ccache
410 411

    # contrib builds for Linux
412 413 414
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
415
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
416
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
417 418
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
419 420 421 422 423 424
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - UNICODE_WIDTH=16
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
425 426
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
427 428 429 430 431 432
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - PLAT=i686
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
433 434
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
435 436 437 438 439 440 441
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - PLAT=i686
        - UNICODE_WIDTH=16
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
442 443
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
444 445 446 447 448
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.4
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
449 450
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
451 452 453 454 455 456
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.4
        - PLAT=i686
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
457 458
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
459 460 461 462 463
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.5
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
464 465
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
466 467 468 469 470 471
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.5
        - PLAT=i686
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
472 473
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
474 475 476 477 478 479
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.6
        - TEST_DEPENDS=numpy==1.11.3
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
480 481
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
482 483 484 485 486 487 488
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.6
        - PLAT=i686
        - TEST_DEPENDS=numpy==1.11.3
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
489 490
      cache:
        directories: $HOME/.ccache
491 492 493 494 495 496
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.7
        - TEST_DEPENDS=numpy==1.14.5
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
497 498
      cache:
        directories: $HOME/.ccache
499 500 501 502 503 504 505
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.7
        - PLAT=i686
        - TEST_DEPENDS=numpy==1.14.5
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
506 507
      cache:
        directories: $HOME/.ccache
508

O
Olli-Pekka Heinisuo 已提交
509 510 511 512 513 514 515

    # headless contrib builds for Linux
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
516 517
      cache:
        directories: $HOME/.ccache
518 519 520 521
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - UNICODE_WIDTH=16
522
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
523
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
524 525
      cache:
        directories: $HOME/.ccache
526 527 528 529
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - PLAT=i686
530
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
531
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
532 533
      cache:
        directories: $HOME/.ccache
534 535 536 537 538
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - PLAT=i686
        - UNICODE_WIDTH=16
539
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
540
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
541 542
      cache:
        directories: $HOME/.ccache
543 544 545
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.4
546
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
547
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
548 549
      cache:
        directories: $HOME/.ccache
550 551 552 553
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.4
        - PLAT=i686
554
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
555
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
556 557
      cache:
        directories: $HOME/.ccache
558 559 560
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.5
561
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
562
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
563 564
      cache:
        directories: $HOME/.ccache
565
    - os: linux
O
Olli-Pekka Heinisuo 已提交
566 567
      env:
        - MB_PYTHON_VERSION=3.5
568
        - PLAT=i686
569
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
570
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
571 572
      cache:
        directories: $HOME/.ccache
573 574 575
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.6
576
        - TEST_DEPENDS=numpy==1.11.3
577
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
578
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
579 580
      cache:
        directories: $HOME/.ccache
581 582 583 584
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.6
        - PLAT=i686
585
        - TEST_DEPENDS=numpy==1.11.3
586
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
587
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
588 589
      cache:
        directories: $HOME/.ccache
590 591 592 593 594 595
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.7
        - TEST_DEPENDS=numpy==1.14.5
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
596 597
      cache:
        directories: $HOME/.ccache
598 599 600 601 602 603 604
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.7
        - PLAT=i686
        - TEST_DEPENDS=numpy==1.14.5
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
605 606
      cache:
        directories: $HOME/.ccache
607

608 609 610 611
# The first line is printed in the folding header in Travis output
before_install: |
    # Check out and prepare the source
    set -e
612 613
    # Multibuild doesn't have releases, so --depth would break eventually (see
    # https://superuser.com/questions/1240216/server-does-not-allow-request-for-unadvertised)
614 615 616 617 618 619 620 621
    git submodule update --init multibuild
    source multibuild/common_utils.sh
    # https://github.com/matthew-brett/multibuild/issues/116
    if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export ARCH_FLAGS=" "; fi
    source multibuild/travis_steps.sh
    # This sets -x
    source multibuild_customize.sh
    echo $ENABLE_CONTRIB > contrib.enabled
O
Olli-Pekka Heinisuo 已提交
622
    echo $ENABLE_HEADLESS > headless.enabled
623 624 625 626 627 628 629 630 631 632 633 634 635 636 637
    
    if [ -n "$IS_OSX" ]; then
        TAPS="$(brew --repository)/Library/Taps"
        if [ -e "$TAPS/caskroom/homebrew-cask" -a -e "$TAPS/homebrew/homebrew-cask" ]; then
            rm -rf "$TAPS/caskroom/homebrew-cask"
        fi
        find "$TAPS" -type d -name .git -exec \
                bash -xec '
                    cd $(dirname '\''{}'\'')
                    git clean -fxd
                    git status' \;
                    
        brew_cache_cleanup
    fi
    
638 639 640 641 642 643 644 645 646 647 648 649 650
    before_install
    # Not interested in travis internal scripts' output
    set +x

install: |
    # Build and package
    set -x
    build_wheel $REPO_DIR $PLAT
    set +x

script: |
    # Install and run tests
    set -x
651
    install_run $PLAT && rc=$? || rc=$?
652 653
    set +x

654 655 656 657 658 659 660 661 662 663 664 665
    #otherwise, Travis logic terminates prematurely
    #https://travis-ci.community/t/shell-session-update-command-not-found-in-build-log-causes-build-to-fail-if-trap-err-is-set/817
    trap ERR
    
    test "$rc" -eq 0

before_cache: |
    # Cleanup dirs to be cached
    set -x
    if [ -n "$IS_OSX" ]; then

        # When Taps is cached, this dir causes "Error: file exists" on `brew update`
666 667 668
        if [ -e "$(brew --repository)/Library/Taps/homebrew/homebrew-cask/homebrew-cask" ]; then
            rm -rf "$(brew --repository)/Library/Taps/homebrew/homebrew-cask/homebrew-cask"
        fi
669 670 671 672 673 674

        brew_cache_cleanup
        
    fi
    set +x
    
675 676 677 678 679 680
after_success: |
    # Upload wheels to pypi if requested
    if [ -n "$TRAVIS_TAG" ]; then
        set -x
        pip install twine

681 682 683 684
        if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
          pip install --upgrade pyOpenSSL
        fi

685
        if [[ $ENABLE_CONTRIB == 0 ]]; then
O
Olli-Pekka Heinisuo 已提交
686 687 688 689 690
            if [[ $ENABLE_HEADLESS == 0 ]]; then
              echo "This is default build. Deployment will be done to to PyPI entry opencv-python."
            else
              echo "This is headless contrib build. Deployment will be done to to PyPI entry opencv-python-headless."
            fi
691
        else
O
Olli-Pekka Heinisuo 已提交
692 693 694 695 696
            if [[ $ENABLE_HEADLESS == 0 ]]; then
              echo "This is contrib build. Deployment will be done to to PyPI entry opencv-contrib-python."
            else
              echo "This is headless contrib build. Deployment will be done to to PyPI entry opencv-contrib-python-headless."
            fi
697 698 699 700 701 702 703
        fi

        twine upload -u ${USER} -p ${PASS} --skip-existing ${TRAVIS_BUILD_DIR}/wheelhouse/opencv*
        set +x
    else
        echo "Tag not set, deployment skipped."
    fi