2012-10-29 10 views
6

特定のenv varに依存するようにtravis-ciを設定する方法はありますか?env var(travis-ciを使用)に依存するPythonバージョン

travis.yml設定を検討してください:

ジャンゴ1.3( DJANGO=1.3.4)の中
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 

および1.4(DJANGO=1.4.2)私も基本的にはDjango 1.5であるのDjangoの最新開発版(DJANGO=https://github.com/django/django/zipball/master)、に対してテストしたいです。

私が見ている問題は、travis-ciが自動的に指定のPythonバージョンとの統合を実行することです。 Django 1.5はPython 2.5をサポートしていません。 >パイソン "2.5"、 "2.6"、 "2.7"

  • ジャンゴ -

    • DJANGO = 1.3.4:それは私がこれだけのような統合を取得するようにDjangoの開発版のためにそれを省略することができます= 1.4.2 - >パイソン "2.5"、 "2.6"、 "2.7"
    • DJANGO = https://github.com/django/django/zipball/master - >パイソン "2.6"、 "2.7"

    UPDATE:

    ここにライブeへのリンクがあります私が数ヶ月間うまく使用していたOdiの答えに基づくサンプル: https://github.com/deschler/django-modeltranslation/blob/master/.travis.yml

  • +0

    注:上記の例では、tarballから直接インストールするために、 ' - DJANGO = Django == 1.3.4'と' - pip install -q $ DJANGO --use-mirrors'を使用する必要があります。 – Mathijs

    答えて

    12

    ビルドマトリックスから除外する設定を指定することができます。あなたがテストしたくない組み合わせ)。

    は、あなたの.travis.ymlにこれを追加します。

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

    注:のみ完全一致が除外されます。

    詳細については、build documentation (section The Build Matrix)を参照してください。

    +2

    パーフェクト、まさに私が探していたもの。どうもありがとう。 –

    関連する問題