@@ -69,17 +69,69 @@ _helpers:
6969 then
7070 rm -rf "$PYENV_ROOT"
7171 curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
72- eval "$(pyenv init -)"
73- eval "$(pyenv virtualenv-init -)"
7472 fi
73+ pyenv update
7574 eval "$(pyenv init -)"
7675 eval "$(pyenv virtualenv-init -)"
77- pyenv update
7876 - &install_python pyenv install --skip-existing --keep --verbose "$PYTHON_VERSION"
7977 - &switch_python pyenv shell "$PYTHON_VERSION"
8078 - &python_version python --version
8179 before_cache :
8280 - brew --cache
81+ - &generic_deploy_base
82+ stage : &deploy_stage_name deploy (PYPI upload itself runs only for tagged commits)
83+ << : *_mainstream_python_base
84+ deploy : &deploy_step
85+ provider : pypi
86+ # `skip_cleanup: true` is required to preserve binary wheels, built
87+ # inside of manylinux1 docker container during `script` step above.
88+ skip_cleanup : true
89+ user : andrew.svetlov
90+ password :
91+ secure : ZFCicrh4l5zraarOwAwLXzYyGLnrxMHAFEFxF6ZEpECamu4eDsbKAFM/ydYdHoL19ocLr5+Xg1fmgd5tjc29c2rHQh29iDFi7tWai2pDFw+WqeHaV6e7ZJEEnU29OpSRzkGIk+K27mn7ZsB97q3Rkg2JBYRBkeK6HNyZ5YgIaVssXXXuCi5LZ1Y0rg8Nbapes1RUqoHGWgBwlCjAVxp9U7RXqJ6jucHDGUHU+9AgnnlGI7Cqs3xLqp4/xt2VoIjL0XwG2y05WLLpEF3Jwtj2voiPsnSTpUwklXVr1rEwScPCMlImxmWmudvh7xcPtcK9IOHIvk6y/lmNHJeevRn+df50LtBdr+0Wrq/t3Tt5d05XKCgqaLtw2P4GYNfTsx1RmQjHzUlfHKke7UZ1P+GsZTKN9nLKVdFTi2YzQ0TVmr/JjAmVqldRBOvEMnVoDn1rj1gdHMIu4d/gRVTcSS3riey+L2o6NwKjoc7aV5Uz47Z7fjz09Q6xml9eBWAHx9O07Iq+BaCikhBzeHGo+AkIzGMQdCSyQ8tTjQtEq6zWGxolZQFJeW9glTGLSYMfiVaPDEyqxaDm/QKssnZiEIbq1YM018C6ojiA3xbPJrwSZ8l/mnCkxrIcbKcwwtaHFPyP/FicePT01oJAXx08wnwe5H2l6lqkSGgRnGendZNeEuQ=
92+ # Although Travis CI instructs `setup.py` to build source distribution,
93+ # which is default value for distribution option (`distribution: sdist`),
94+ # it will also upload all wheels we've previously built in manylinux1
95+ # docker container using `twine upload -r pypi dist/*` command.
96+ # Also since commit https://github.com/travis-ci/dpl/commit/90b5e39
97+ # it is default that Travis PYPI provider has `skip_upload_docs: true`
98+ # set by default.
99+ # Besides above, we don't do cleanup of `dist/*`, because it's being done
100+ # by Travis CI PYPI deployment provider after upload, unconditionally.
101+ on :
102+ tags : true
103+ all_branches : true
104+ - &osx_pypi_deploy_base_1011
105+ << : *osx_python_base
106+ << : *generic_deploy_base
107+ osx_image : xcode7.3
108+ script : skip
109+ after_success : []
110+ env :
111+ - &env_os1011_msg Build and deploy to PYPI of OS X 10.11 binary wheel
112+ - *env_py36
113+ - *env_pyenv
114+ - *env_path
115+ deploy :
116+ << : *deploy_step
117+ skip_cleanup : false
118+ distributions : bdist_wheel
119+ - &osx_pypi_deploy_base_1012
120+ << : *osx_pypi_deploy_base_1011
121+ osx_image : xcode8.1
122+ env :
123+ - &env_os1012_msg Build and deploy to PYPI of OS X 10.12 binary wheel
124+ - *env_py36
125+ - *env_pyenv
126+ - *env_path
127+ - &osx_pypi_deploy_base_1010
128+ << : *osx_pypi_deploy_base_1011
129+ osx_image : xcode6.4
130+ env :
131+ - &env_os1010_msg Build and deploy to PYPI of OS X 10.10 binary wheel
132+ - *env_py36
133+ - *env_pyenv
134+ - *env_path
83135
84136os : linux
85137
@@ -124,19 +176,19 @@ jobs:
124176 - << : *osx_python_base
125177 python : 3.4
126178 env :
127- - PYTHON_VERSION=3.4.6
179+ - &env_py34 PYTHON_VERSION=3.4.6
128180 - *env_pyenv
129181 - *env_path
130182 - << : *osx_python_base
131183 python : 3.5
132184 env :
133- - PYTHON_VERSION=3.5.3
185+ - &env_py35 PYTHON_VERSION=3.5.3
134186 - *env_pyenv
135187 - *env_path
136188 - << : *osx_python_base
137189 python : *mainstream_python
138190 env :
139- - PYTHON_VERSION=3.6.1
191+ - &env_py36 PYTHON_VERSION=3.6.1
140192 - *env_pyenv
141193 - *env_path
142194 - << : *osx_python_base
@@ -147,38 +199,91 @@ jobs:
147199 - *env_path
148200 # pypy3.5-5.8.0 fails under OS X because it's unsupported
149201
150- - stage : &deploy_stage_name deploy (PYPI upload itself runs only for tagged commits)
151- << : *_mainstream_python_base
202+ # Build and deploy manylinux1 binary wheels and source distribution
203+ - << : *generic_deploy_base
152204 << : *_reset_steps
205+ env : Build and deploy to PYPI of manylinux1 binary wheels for all supported Pythons and source distribution
153206 dist : trusty
154207 group : edge
155208 services :
156209 - docker
157210 script :
158211 - mkdir dist # so that it whould have priviliges of the current Travis user
159212 - ./tools/run_docker.sh "multidict"
160- deploy :
161- provider : pypi
162- # `skip_cleanup: true` is required to preserve binary wheels, built
163- # inside of manylinux1 docker container during `script` step above.
164- skip_cleanup : true
165- user : andrew.svetlov
166- password :
167- secure : ZFCicrh4l5zraarOwAwLXzYyGLnrxMHAFEFxF6ZEpECamu4eDsbKAFM/ydYdHoL19ocLr5+Xg1fmgd5tjc29c2rHQh29iDFi7tWai2pDFw+WqeHaV6e7ZJEEnU29OpSRzkGIk+K27mn7ZsB97q3Rkg2JBYRBkeK6HNyZ5YgIaVssXXXuCi5LZ1Y0rg8Nbapes1RUqoHGWgBwlCjAVxp9U7RXqJ6jucHDGUHU+9AgnnlGI7Cqs3xLqp4/xt2VoIjL0XwG2y05WLLpEF3Jwtj2voiPsnSTpUwklXVr1rEwScPCMlImxmWmudvh7xcPtcK9IOHIvk6y/lmNHJeevRn+df50LtBdr+0Wrq/t3Tt5d05XKCgqaLtw2P4GYNfTsx1RmQjHzUlfHKke7UZ1P+GsZTKN9nLKVdFTi2YzQ0TVmr/JjAmVqldRBOvEMnVoDn1rj1gdHMIu4d/gRVTcSS3riey+L2o6NwKjoc7aV5Uz47Z7fjz09Q6xml9eBWAHx9O07Iq+BaCikhBzeHGo+AkIzGMQdCSyQ8tTjQtEq6zWGxolZQFJeW9glTGLSYMfiVaPDEyqxaDm/QKssnZiEIbq1YM018C6ojiA3xbPJrwSZ8l/mnCkxrIcbKcwwtaHFPyP/FicePT01oJAXx08wnwe5H2l6lqkSGgRnGendZNeEuQ=
168- # Although Travis CI instructs `setup.py` to build source distribution,
169- # which is default value for distribution option (`distribution: sdist`),
170- # it will also upload all wheels we've previously built in manylinux1
171- # docker container using `twine upload -r pypi dist/*` command.
172- # Also since commit https://github.com/travis-ci/dpl/commit/90b5e39
173- # it is default that Travis PYPI provider has `skip_upload_docs: true`
174- # set by default.
175- # Besides above, we don't do cleanup of `dist/*`, because it's being done
176- # by Travis CI PYPI deployment provider after upload, unconditionally.
177- on :
178- tags : true
179- all_branches : true
213+
214+ # Build and deploy MacOS binary wheels for each OSX+Python combo possible
215+ # OS X 10.10, Python 3.4
216+ - << : *osx_pypi_deploy_base_1010
217+ python : 3.4
218+ env :
219+ - *env_os1010_msg
220+ - *env_py34
221+ - *env_pyenv
222+ - *env_path
223+ # OS X 10.10, Python 3.5
224+ - << : *osx_pypi_deploy_base_1010
225+ python : 3.5
226+ env :
227+ - *env_os1010_msg
228+ - *env_py35
229+ - *env_pyenv
230+ - *env_path
231+ # OS X 10.10, Python 3.6
232+ - << : *osx_pypi_deploy_base_1010
233+ env :
234+ - *env_os1010_msg
235+ - *env_py36
236+ - *env_pyenv
237+ - *env_path
238+ # OS X 10.11, Python 3.4
239+ - << : *osx_pypi_deploy_base_1011
240+ python : 3.4
241+ env :
242+ - *env_os1011_msg
243+ - *env_py34
244+ - *env_pyenv
245+ - *env_path
246+ # OS X 10.11, Python 3.5
247+ - << : *osx_pypi_deploy_base_1011
248+ python : 3.5
249+ env :
250+ - *env_os1011_msg
251+ - *env_py35
252+ - *env_pyenv
253+ - *env_path
254+ # OS X 10.11, Python 3.6
255+ - << : *osx_pypi_deploy_base_1011
256+ env :
257+ - *env_os1011_msg
258+ - *env_py36
259+ - *env_pyenv
260+ - *env_path
261+ # OS X 10.12, Python 3.4
262+ - << : *osx_pypi_deploy_base_1012
263+ python : 3.4
264+ env :
265+ - *env_os1012_msg
266+ - *env_py34
267+ - *env_pyenv
268+ - *env_path
269+ # OS X 10.12, Python 3.5
270+ - << : *osx_pypi_deploy_base_1012
271+ python : 3.5
272+ env :
273+ - *env_os1012_msg
274+ - *env_py35
275+ - *env_pyenv
276+ - *env_path
277+ # OS X 10.12, Python 3.6
278+ - << : *osx_pypi_deploy_base_1012
279+ env :
280+ - *env_os1012_msg
281+ - *env_py36
282+ - *env_pyenv
283+ - *env_path
180284
181285stages :
286+ - *test_dpl
182287- *doc_stage_name
183288- test
184289- name : *stage_test_osx_name
0 commit comments