2012-10-29 5 views
6

Gibt es eine Möglichkeit, travis-ci zu konfigurieren, um die Python-Versionen von einer bestimmten env var abhängig zu machen?Make Python-Version abhängig von env var (mit travis-ci)

Bitte beachten Sie die folgenden travis.yml config:

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 

Unter Django 1.3 (DJANGO=1.3.4) und 1.4 (DJANGO=1.4.2) ich will auch gegen die neueste Entwicklerversion von Django testen (DJANGO=https://github.com/django/django/zipball/master), die im Grunde ist Django 1.5 .

Das Problem, das ich sehe, ist, dass travis-ci automatisch die Integration gegen alle angegebenen Python-Versionen ausführen wird. Django 1.5 unterstützt jedoch Python 2.5 nicht mehr. Ist es möglich, es für die Version Django Entwicklung zu verzichten, so dass ich Integrationen bekommen wie dieser nur:

UPDATE:

Hier ist ein Link zu einem Live-e Beispiel basierend auf Odi's Antwort, die ich seit einigen Monaten erfolgreich verwende: https://github.com/deschler/django-modeltranslation/blob/master/.travis.yml

+0

Hinweis: Im obigen Beispiel müsste man '- DJANGO = Django == 1.3.4' und' - pip install -q $ DJANGO --Use-Mirrors' für die direkte Installation von Tarballs verwenden. – Mathijs

Antwort

12

Sie können Konfigurationen angeben, die Sie aus der Build-Matrix ausschließen möchten (d. h. Kombinationen, die Sie nicht testen möchten.

Fügen Sie diese auf Ihre .travis.yml:

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

Hinweis: nur genaue Treffer werden ausgeschlossen.

Weitere Informationen finden Sie unter build documentation (section The Build Matrix).

+2

Perfekt, genau wonach ich gesucht habe. Danke vielmals. –

Verwandte Themen