.travis.yml 16.3 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
        - USE_CCACHE=1
O
Olli-Pekka Heinisuo 已提交
9 10 11
        - PLAT=x86_64
        - UNICODE_WIDTH=32

12 13 14 15

# 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 已提交
16 17
sudo: required
services: docker
18 19 20 21 22 23 24 25
# 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

26 27 28 29 30 31 32 33
# 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 已提交
34 35
    # `cache: ccache: true` has no effect if `language:` is not `c` or `cpp`
    - $HOME/.ccache
I
Ivan Pozdeev 已提交
36

37
matrix:
38
  fast_finish: true
39
  include:
40

O
Olli-Pekka Heinisuo 已提交
41
    # default builds for MacOS
42
    - os: osx
I
Ivan Pozdeev 已提交
43
      osx_image: xcode8.3
44 45 46
      env:
        - MB_PYTHON_VERSION=2.7
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
47
        - ENABLE_HEADLESS=0
48
    - os: osx
I
Ivan Pozdeev 已提交
49
      osx_image: xcode8.3
50 51 52
      env:
        - MB_PYTHON_VERSION=3.4
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
53
        - ENABLE_HEADLESS=0
54
    - os: osx
I
Ivan Pozdeev 已提交
55
      osx_image: xcode8.3
56 57 58
      env:
        - MB_PYTHON_VERSION=3.5
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
59
        - ENABLE_HEADLESS=0
60
    - os: osx
I
Ivan Pozdeev 已提交
61
      osx_image: xcode8.3
62 63 64
      env:
        - MB_PYTHON_VERSION=3.6
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
65
        - ENABLE_HEADLESS=0
66
    - os: osx
I
Ivan Pozdeev 已提交
67
      osx_image: xcode8.3
68 69 70 71
      env:
        - MB_PYTHON_VERSION=3.7
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
72
        - TEST_DEPENDS=numpy==1.14.5
O
Olli-Pekka Heinisuo 已提交
73 74 75

    # headless builds for MacOS
    - os: osx
I
Ivan Pozdeev 已提交
76
      osx_image: xcode8.3
O
Olli-Pekka Heinisuo 已提交
77 78 79 80 81
      env:
        - MB_PYTHON_VERSION=2.7
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=1
    - os: osx
I
Ivan Pozdeev 已提交
82
      osx_image: xcode8.3
O
Olli-Pekka Heinisuo 已提交
83 84 85 86 87
      env:
        - MB_PYTHON_VERSION=3.4
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=1
    - os: osx
I
Ivan Pozdeev 已提交
88
      osx_image: xcode8.3
O
Olli-Pekka Heinisuo 已提交
89 90 91 92 93
      env:
        - MB_PYTHON_VERSION=3.5
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=1
    - os: osx
I
Ivan Pozdeev 已提交
94
      osx_image: xcode8.3
O
Olli-Pekka Heinisuo 已提交
95 96 97 98
      env:
        - MB_PYTHON_VERSION=3.6
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=1
99
    - os: osx
I
Ivan Pozdeev 已提交
100
      osx_image: xcode8.3
101 102 103 104
      env:
        - MB_PYTHON_VERSION=3.7
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=1
105
        - TEST_DEPENDS=numpy==1.14.5
106

O
Olli-Pekka Heinisuo 已提交
107
    # Contrib builds for MacOS
108
    - os: osx
I
Ivan Pozdeev 已提交
109
      osx_image: xcode8.3
110 111
      env:
        - MB_PYTHON_VERSION=2.7
O
Olli-Pekka Heinisuo 已提交
112
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
113
        - ENABLE_HEADLESS=0
114
    - os: osx
I
Ivan Pozdeev 已提交
115
      osx_image: xcode8.3
116 117
      env:
        - MB_PYTHON_VERSION=3.4
118
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
119
        - ENABLE_HEADLESS=0
120
    - os: osx
I
Ivan Pozdeev 已提交
121
      osx_image: xcode8.3
122 123
      env:
        - MB_PYTHON_VERSION=3.5
124
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
125
        - ENABLE_HEADLESS=0
126
    - os: osx
I
Ivan Pozdeev 已提交
127
      osx_image: xcode8.3
128 129
      env:
        - MB_PYTHON_VERSION=3.6
130
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
131
        - ENABLE_HEADLESS=0
132
    - os: osx
I
Ivan Pozdeev 已提交
133
      osx_image: xcode8.3
134 135 136 137
      env:
        - MB_PYTHON_VERSION=3.7
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
138
        - TEST_DEPENDS=numpy==1.14.5
O
Olli-Pekka Heinisuo 已提交
139 140 141

    # headless contrib builds for MacOS
    - os: osx
I
Ivan Pozdeev 已提交
142
      osx_image: xcode8.3
O
Olli-Pekka Heinisuo 已提交
143 144 145 146 147
      env:
        - MB_PYTHON_VERSION=2.7
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=1
    - os: osx
I
Ivan Pozdeev 已提交
148
      osx_image: xcode8.3
O
Olli-Pekka Heinisuo 已提交
149 150 151 152 153
      env:
        - MB_PYTHON_VERSION=3.4
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=1
    - os: osx
I
Ivan Pozdeev 已提交
154
      osx_image: xcode8.3
O
Olli-Pekka Heinisuo 已提交
155 156 157 158 159
      env:
        - MB_PYTHON_VERSION=3.5
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=1
    - os: osx
I
Ivan Pozdeev 已提交
160
      osx_image: xcode8.3
O
Olli-Pekka Heinisuo 已提交
161 162 163 164
      env:
        - MB_PYTHON_VERSION=3.6
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=1
165
    - os: osx
I
Ivan Pozdeev 已提交
166
      osx_image: xcode8.3
167 168 169 170
      env:
        - MB_PYTHON_VERSION=3.7
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=1
171
        - TEST_DEPENDS=numpy==1.14.5
172

O
Olli-Pekka Heinisuo 已提交
173
    # default builds for Linux
174 175 176 177
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
178
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
179 180
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
181 182 183 184 185 186
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - UNICODE_WIDTH=16
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
187 188
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
189 190 191 192 193 194
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - PLAT=i686
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
195 196
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
197 198 199 200 201 202 203
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - PLAT=i686
        - UNICODE_WIDTH=16
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
204 205
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
206 207 208 209 210
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.4
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
211 212
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
213 214 215 216 217 218
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.4
        - PLAT=i686
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
219 220
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
221 222 223 224 225
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.5
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
226 227
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
228 229 230 231 232 233
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.5
        - PLAT=i686
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
234 235
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
236 237 238 239 240 241
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.6
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
        - TEST_DEPENDS=numpy==1.11.3
I
Ivan Pozdeev 已提交
242 243
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
244 245 246 247 248 249 250
    - 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 已提交
251 252
      cache:
        directories: $HOME/.ccache
253 254 255 256 257 258
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.7
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=0
        - TEST_DEPENDS=numpy==1.14.5
I
Ivan Pozdeev 已提交
259 260
      cache:
        directories: $HOME/.ccache
261 262 263 264 265 266 267
    - 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 已提交
268 269
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
270 271 272 273 274 275 276

    # headless builds for Linux
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
277 278
      cache:
        directories: $HOME/.ccache
279 280 281 282 283
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - UNICODE_WIDTH=16
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
284
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
285 286
      cache:
        directories: $HOME/.ccache
287 288 289 290 291
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - PLAT=i686
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
292
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
293 294
      cache:
        directories: $HOME/.ccache
295 296 297 298 299 300
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - PLAT=i686
        - UNICODE_WIDTH=16
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
301
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
302 303
      cache:
        directories: $HOME/.ccache
304 305 306 307
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.4
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
308
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
309 310
      cache:
        directories: $HOME/.ccache
311 312 313 314 315
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.4
        - PLAT=i686
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
316
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
317 318
      cache:
        directories: $HOME/.ccache
319 320 321 322
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.5
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
323
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
324 325
      cache:
        directories: $HOME/.ccache
326 327 328 329 330
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.5
        - PLAT=i686
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
331
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
332 333
      cache:
        directories: $HOME/.ccache
334 335 336 337
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.6
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
338
        - ENABLE_HEADLESS=1
339
        - TEST_DEPENDS=numpy==1.11.3
I
Ivan Pozdeev 已提交
340 341
      cache:
        directories: $HOME/.ccache
342 343 344 345 346
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.6
        - PLAT=i686
        - ENABLE_CONTRIB=0
O
Olli-Pekka Heinisuo 已提交
347
        - ENABLE_HEADLESS=1
348
        - TEST_DEPENDS=numpy==1.11.3
I
Ivan Pozdeev 已提交
349 350
      cache:
        directories: $HOME/.ccache
351 352 353 354 355 356
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.7
        - ENABLE_CONTRIB=0
        - ENABLE_HEADLESS=1
        - TEST_DEPENDS=numpy==1.14.5
I
Ivan Pozdeev 已提交
357 358
      cache:
        directories: $HOME/.ccache
359 360 361 362 363 364 365
    - 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 已提交
366 367
      cache:
        directories: $HOME/.ccache
368 369

    # contrib builds for Linux
370 371 372
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
373
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
374
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
375 376
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
377 378 379 380 381 382
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - UNICODE_WIDTH=16
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
383 384
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
385 386 387 388 389 390
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - PLAT=i686
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
391 392
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
393 394 395 396 397 398 399
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - PLAT=i686
        - UNICODE_WIDTH=16
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
400 401
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
402 403 404 405 406
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.4
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
407 408
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
409 410 411 412 413 414
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.4
        - PLAT=i686
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
415 416
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
417 418 419 420 421
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.5
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
422 423
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
424 425 426 427 428 429
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.5
        - PLAT=i686
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
430 431
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
432 433 434 435 436 437
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.6
        - TEST_DEPENDS=numpy==1.11.3
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
438 439
      cache:
        directories: $HOME/.ccache
O
Olli-Pekka Heinisuo 已提交
440 441 442 443 444 445 446
    - 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 已提交
447 448
      cache:
        directories: $HOME/.ccache
449 450 451 452 453 454
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.7
        - TEST_DEPENDS=numpy==1.14.5
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=0
I
Ivan Pozdeev 已提交
455 456
      cache:
        directories: $HOME/.ccache
457 458 459 460 461 462 463
    - 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 已提交
464 465
      cache:
        directories: $HOME/.ccache
466

O
Olli-Pekka Heinisuo 已提交
467 468 469 470 471 472 473

    # headless contrib builds for Linux
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
474 475
      cache:
        directories: $HOME/.ccache
476 477 478 479
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - UNICODE_WIDTH=16
480
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
481
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
482 483
      cache:
        directories: $HOME/.ccache
484 485 486 487
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - PLAT=i686
488
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
489
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
490 491
      cache:
        directories: $HOME/.ccache
492 493 494 495 496
    - os: linux
      env:
        - MB_PYTHON_VERSION=2.7
        - PLAT=i686
        - UNICODE_WIDTH=16
497
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
498
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
499 500
      cache:
        directories: $HOME/.ccache
501 502 503
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.4
504
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
505
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
506 507
      cache:
        directories: $HOME/.ccache
508 509 510 511
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.4
        - PLAT=i686
512
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
513
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
514 515
      cache:
        directories: $HOME/.ccache
516 517 518
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.5
519
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
520
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
521 522
      cache:
        directories: $HOME/.ccache
523
    - os: linux
O
Olli-Pekka Heinisuo 已提交
524 525
      env:
        - MB_PYTHON_VERSION=3.5
526
        - PLAT=i686
527
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
528
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
529 530
      cache:
        directories: $HOME/.ccache
531 532 533
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.6
534
        - TEST_DEPENDS=numpy==1.11.3
535
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
536
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
537 538
      cache:
        directories: $HOME/.ccache
539 540 541 542
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.6
        - PLAT=i686
543
        - TEST_DEPENDS=numpy==1.11.3
544
        - ENABLE_CONTRIB=1
O
Olli-Pekka Heinisuo 已提交
545
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
546 547
      cache:
        directories: $HOME/.ccache
548 549 550 551 552 553
    - os: linux
      env:
        - MB_PYTHON_VERSION=3.7
        - TEST_DEPENDS=numpy==1.14.5
        - ENABLE_CONTRIB=1
        - ENABLE_HEADLESS=1
I
Ivan Pozdeev 已提交
554 555
      cache:
        directories: $HOME/.ccache
556 557 558 559 560 561 562
    - 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 已提交
563 564
      cache:
        directories: $HOME/.ccache
565

566 567 568 569
# The first line is printed in the folding header in Travis output
before_install: |
    # Check out and prepare the source
    set -e
570 571
    # Multibuild doesn't have releases, so --depth would break eventually (see
    # https://superuser.com/questions/1240216/server-does-not-allow-request-for-unadvertised)
572 573 574 575 576 577 578 579
    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 已提交
580
    echo $ENABLE_HEADLESS > headless.enabled
I
Ivan Pozdeev 已提交
581

582 583 584 585 586 587 588 589 590 591
    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' \;
I
Ivan Pozdeev 已提交
592

593 594
        brew_cache_cleanup
    fi
I
Ivan Pozdeev 已提交
595

596 597 598 599 600 601 602 603
    before_install
    # Not interested in travis internal scripts' output
    set +x

install: |
    # Build and package
    set -x
    build_wheel $REPO_DIR $PLAT
I
Ivan Pozdeev 已提交
604
    if [ -n "$USE_CCACHE" ]; then ccache --show-stats; fi
605 606 607 608 609
    set +x

script: |
    # Install and run tests
    set -x
610
    install_run $PLAT && rc=$? || rc=$?
611 612
    set +x

613 614 615
    #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
I
Ivan Pozdeev 已提交
616

617 618 619 620 621 622 623 624
    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`
625 626 627
        if [ -e "$(brew --repository)/Library/Taps/homebrew/homebrew-cask/homebrew-cask" ]; then
            rm -rf "$(brew --repository)/Library/Taps/homebrew/homebrew-cask/homebrew-cask"
        fi
628 629

        brew_cache_cleanup
I
Ivan Pozdeev 已提交
630

631 632
    fi
    set +x
I
Ivan Pozdeev 已提交
633

634 635 636 637 638 639
after_success: |
    # Upload wheels to pypi if requested
    if [ -n "$TRAVIS_TAG" ]; then
        set -x
        pip install twine

640 641 642 643
        if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
          pip install --upgrade pyOpenSSL
        fi

644
        if [[ $ENABLE_CONTRIB == 0 ]]; then
O
Olli-Pekka Heinisuo 已提交
645 646 647 648 649
            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
650
        else
O
Olli-Pekka Heinisuo 已提交
651 652 653 654 655
            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
656 657 658 659 660 661 662
        fi

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