Come testare diverse versioni Python con Tox da Travis-CI?Come eseguire Tox con Travis-CI
ho un 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
che gestisce i miei Unittests Python in varie versioni di Python e funziona perfettamente.
Voglio installare una build in Travis-CI per eseguire automaticamente questo quando spingo modifiche Github, quindi ho un .travis.yml
:
language: python
python:
- "2.7"
- "3.3"
- "3.4"
- "3.5"
install:
- pip install tox
script:
- tox
Questo sembra tecnicamente funzionare, ma funziona in modo ridondante tutta la mia prova in ogni versione di Python ... da ogni versione di Python. Quindi una build che impiega 5 minuti richiede ora 45 minuti.
Ho provato a rimuovere l'elenco python
dal mio file yaml, quindi Travis eseguirà solo una singola istanza Python, ma questo causa il fallimento dei test di Python3.5 perché non è possibile trovare l'interprete 3.5. Apparentemente, questo è un known limitation come Travis-CI non installerà Python3.5 a meno che non si specifichi quella versione esatta nella propria configurazione ... ma non lo fa per le altre versioni.
C'è un modo per risolvere il problema?