8

有没有办法配置 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

4

1 回答 1

12

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

将此添加到您的.travis.yml

matrix:
  exclude:
   - python: "2.5"
     env: DJANGO=https://github.com/django/django/zipball/master

注意:只排除完全匹配。

有关详细信息,请参阅构建文档(The Build Matrix部分)

于 2012-10-30T11:31:46.593 回答