1- language : python
2-
3- os : linux
41dist : trusty
5-
62sudo : false
7- group : edge
8-
9- _base_envs :
10- - &stage_lint
11- stage : &stage_lint_name lint
12- - &stage_test_priority
13- stage : &stage_test_priority_name test against latest Python versions first (under GNU/Linux)
14- - &stage_test_osx
15- stage : &stage_test_osx_name test under OS X (last chance to fail before deploy available)
16- - &stage_deploy
17- stage : &stage_deploy_name upload new version of python package to PYPI (only for tagged commits)
18- - &pyenv_base
19- language : generic
20- python : &pypy2 pypy2.7-5.8.0
21- env :
22- - &env_pypy2 PYTHON_VERSION=pypy2.7-5.8.0
23- - &env_pyenv PYENV_ROOT="$HOME/.pyenv"
24- - &env_path PATH="$PYENV_ROOT/bin:$PATH"
25- before_install :
26- - &ensure_pyenv_installed |
27- if [ ! -f "$PYENV_ROOT/bin/pyenv" ]
28- then
29- rm -rf "$PYENV_ROOT"
30- curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
31- eval "$(pyenv init -)"
32- eval "$(pyenv virtualenv-init -)"
33- fi
34- eval "$(pyenv init -)"
35- eval "$(pyenv virtualenv-init -)"
36- pyenv update
37- - &install_python pyenv install --skip-existing --keep --verbose "$PYTHON_VERSION"
38- - &switch_python pyenv shell "$PYTHON_VERSION"
39- - &python_version python --version
40- - &osx_python_base
41- << : *pyenv_base
42- << : *stage_test_osx
43- os : osx
44- language : generic
45- before_install :
46- - brew update
47- - brew install readline xz
48- - *ensure_pyenv_installed
49- - *install_python
50- - *switch_python
51- - *python_version
52- before_cache :
53- - brew --cache
54- - &pure_python_base_priority
55- << : *stage_test_priority
56- python : &mainstream_python 3.6
57- - &lint_python_base
58- << : *stage_lint
59- python : *mainstream_python
60- after_failure : []
61-
62- stages :
63- - *stage_lint_name
64- - *stage_test_priority_name
65- - test
66- - *stage_test_osx_name
67- - name : *stage_deploy_name
68- if : tag IS present
3+ language : python
694
70- # Base test matrix run in linux containers:
71- python :
72- - 2.7
73- - 3.3
74- - 3.4
75- - 3.5
76- - *mainstream_python
77- - *pypy2
78- - &pypy3 pypy3.5-5.8.0
5+ matrix :
6+ allow_failures :
7+ - python : 3.6
798
809jobs :
8110 fast_finish : true
82- allow_failures :
83- - env : &pep257_env TOXENV=pre-commit-pep257
84- - env : &pre-commit_env TOXENV=pre-commit
85- # pypy2.7 succeeds locally
86- - python : *pypy2
87- os : linux
88- # pypy3.5 fails locally like in Travis
89- - python : *pypy3
90- os : linux
91- # OS X environment is extremely unstable
92- - os : linux
9311 include :
94- - << : *lint_python_base
95- env : *pre-commit_env
96- - << : *lint_python_base
97- env : *pep257_env
98- - << : *pure_python_base_priority
99- # mainstream here (3.6)
100- - << : *pure_python_base_priority
101- python : nightly
102- - << : *osx_python_base
103- python : 2.7
104- env :
105- - PYTHON_VERSION=2.7.13
106- - *env_pyenv
107- - *env_path
108- - << : *osx_python_base
109- python : 3.3
110- env :
111- - PYTHON_VERSION=3.3.6
112- - *env_pyenv
113- - *env_path
114- - << : *osx_python_base
115- python : 3.4
116- env :
117- - PYTHON_VERSION=3.4.6
118- - *env_pyenv
119- - *env_path
120- - << : *osx_python_base
121- python : 3.5
122- env :
123- - PYTHON_VERSION=3.5.3
124- - *env_pyenv
125- - *env_path
126- - << : *osx_python_base
127- python : *mainstream_python
128- env :
129- - PYTHON_VERSION=3.6.1
130- - *env_pyenv
131- - *env_path
132- - << : *osx_python_base
133- python : nightly
134- env :
135- - PYTHON_VERSION=3.7-dev
136- - *env_pyenv
137- - *env_path
138- - << : *osx_python_base
139- python : *pypy2
140- env :
141- - *env_pypy2
142- - *env_pyenv
143- - *env_path
144- # pypy3.5-5.8.0 fails under OS X because it's unsupported (PR #26)
145- - << : *stage_deploy
146- python : *mainstream_python
12+ - python : &latest_stable 2.7
13+ - python : &latest_py3 3.6
14+ - stage : deploy
15+ if : tag IS present
16+ python : *latest_stable
14717 install : skip
14818 script : skip
14919 deploy :
@@ -152,25 +22,15 @@ jobs:
15222 tags : true
15323 all_branches : true
15424 user : jaraco
155- distributions : bdist_wheel sdist
15625 password :
15726 secure : rGooTu2PXDe+83QGlXVyfrMFZkUJ78qNMj6TRpLDz1Mb+SEx9HazxxrcURtNBemHlx9bebUYV0Ue2xgkK4vUFw2vyD3WVaXBJTQQkkKsGlUZy27NgOqqNxR3igQqloM1oVg7+NZqRvuAhoTTkhA9btp7l6CZ4tp8JfljO9b9TAw=
27+ distributions : dists
28+ skip_cleanup : true
29+ skip_upload_docs : true
15830
159- cache :
160- pip : true
161- directories :
162- - $HOME/.pre-commit
163- - $HOME/Library/Caches/Homebrew
31+ cache : pip
16432
16533install :
166- - pip install tox "setuptools>=28.2"
167-
168- script :
169- - tox -e${TOXENV-python}
34+ - pip install tox
17035
171- after_failure :
172- - echo "Here's a list of installed Python packages:"
173- - pip list --format=columns
174- - py_log=/home/travis/build/cherrypy/magicbus/.tox/python/log/python-0.log
175- - echo Outputting python invocation log from $py_log
176- - cat $py_log
36+ script : tox
0 commit comments