根据env var制作Python版本(使用travis-ci)

Dir*_*ler 8 python django continuous-integration travis-ci

有没有办法配置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
Run Code Online (Sandbox Code Playgroud)

在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

Odi*_*Odi 12

您可以指定要从构建矩阵中排除的配置(即您不想测试的组合).

将此添加到您的.travis.yml:

matrix:
  exclude:
   - python: "2.5"
     env: DJANGO=https://github.com/django/django/zipball/master
Run Code Online (Sandbox Code Playgroud)

注意:仅排除完全匹配.

有关详细信息,请参阅构建文档(构建矩阵部分).

  • 完美,正是我想要的.非常感谢. (2认同)