Как вы тестируете разные версии Python с Tox из Travis-CI?
У меня есть tox.ini
:
[tox]
envlist = py{27,33,34,35}
recreate = True
[testenv]
basepython =
py27: python2.7
py33: python3.3
py34: python3.4
py35: python3.5
deps =
-r{toxinidir}/pip-requirements.txt
-r{toxinidir}/pip-requirements-test.txt
commands = py.test
который запускает мои Python unittests в нескольких версиях Python и отлично работает.
Я хочу настроить сборку в Travis-CI, чтобы автоматически запускать ее, когда я нажимаю изменения в Github, поэтому у меня есть .travis.yml
:
language: python
python:
- "2.7"
- "3.3"
- "3.4"
- "3.5"
install:
- pip install tox
script:
- tox
Это технически, похоже, работает, но он избыточно запускает все мои тесты в каждой версии Python... из каждой версии Python. Итак, сборка, которая занимает 5 минут, занимает 45 минут.
Я попытался удалить список python
из моего файла yaml, поэтому Travis будет запускать только один экземпляр Python, но это приводит к тому, что мои тесты Python3.5 терпят неудачу, потому что интерпретатор 3.5 не может быть найден. По-видимому, что известное ограничение, поскольку Travis-CI не будет устанавливать Python3.5, если вы не укажете точную версию в своей конфигурации... но это не делает этого для других версий.
Есть ли способ, которым я могу это решить?