有没有办法配置travis-ci以使Python版本依赖于某个env var?
请考虑以下travis.yml
配置:
language: python
python:
- "2.5"
- "2.6"
- "2.7"
env:
- DJANGO=1.3.4
- DJANGO=1.4.2
- DJANGO=https://github.com/django/django/zipball/master
install:
- pip install -q Django==$DJANGO --use-mirrors
- pip install -e . --use-mirrors
script:
- python src/runtests.py
在Django 1.3(DJANGO=1.3.4
)和1.4(DJANGO=1.4.2
)中,我还要测试Django(DJANGO=https://github.com/django/django/zipball/master
)的最新开发版本,它基本上是Django 1.5。
我看到的问题是travis-ci会自动对所有指定的Python版本进行集成。但是Django 1.5不再支持Python 2.5了。是否可以省略它为Django开发版本,以便我得到这样的集成:
更新
这是一个基于Odi答案的实例的链接,我已经成功使用了几个月: https://github.com/deschler/django-modeltranslation/blob/master/.travis.yml
答案 0 :(得分:12)
您可以指定要从构建矩阵中排除的配置(即您不想测试的组合)。
将此添加到您的.travis.yml
:
matrix:
exclude:
- python: "2.5"
env: DJANGO=https://github.com/django/django/zipball/master
注意:仅排除完全匹配。