forked from cculianu/rubicon-objc
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path.travis.yml
55 lines (54 loc) · 2.12 KB
/
.travis.yml
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
branches:
only:
- master
os: osx
matrix:
include:
# Note: The ordering of the environments is optimized so that the complete matrix runs as quickly as possible,
# while also providing the first results as early as possible.
# At the moment, build times for each environment are roughly as follows:
# xcode6.4: 13 minutes
# xcode7.3: 5 minutes
# xcode8.3: 3 minutes
# xcode9.2: 2 minutes
# This data is based on the following build, which should be similar to most builds on the repo:
# https://travis-ci.org/pybee/rubicon-objc/builds/348992202
# Currently, Travis allows a maximum of two concurrent Mac builds per owner:
# https://blog.travis-ci.com/2017-09-22-macos-update
# With the following order, xcode6.4 will take up the first slot, and at the same time the three other
# environments use the second slot in sequence. xcode9.2 will finish first and provide some early results - most
# test failures happen in all environments and will be quickly reported this way.
# OSX 10.10 Yosemite
- osx_image: xcode6.4
# macOS 10.12 Sierra
- osx_image: xcode9.2
- osx_image: xcode8.3
# OSX 10.11 El Capitan
- osx_image: xcode7.3
language: generic
cache:
directories:
~/.pyenv
env:
global:
- PY34="3.4.8"
- PY35="3.5.5"
- PY36="3.6.4"
install:
# The different Travis environments have different pyenv versions, and not all have the Python versions we need,
# so we upgrade pyenv to get a consistent setup in all environments.
- brew update
- brew outdated pyenv || brew upgrade pyenv
# pyenv's shims directory is not in the PATH by default.
- export PATH="$(pyenv root)/shims:${PATH}"
# These are the Python versions that we want to test on.
- pyenv install --skip-existing ${PY34}
- pyenv install --skip-existing ${PY35}
- pyenv install --skip-existing ${PY36}
- pyenv global ${PY36} ${PY35} ${PY34} system
# tox is not installed by default in some older Travis environments.
- python3.6 -m pip install tox
- make -f Makefile
script:
- export DYLD_LIBRARY_PATH=`pwd`/tests/objc
- python3.6 -m tox -e "py{34,35,36}-default,flake8"