ゴール:特定のtoxコマンドを実行し、特定の一致コマンドを「just」実行するようにしました。toxファイルの反復を最小限に抑える方法
例:tox -e py35-integration
tox
だけデフォルトまたはスタンドアロンpy35
定義を含むpy35-統合とないのために実行する必要があります。
私は、私がしようとしていることをやろうとする2つの方法について理解しています。
- 注:
flake8
コマンドは、異なるコマンド間を簡単に分離し、実行中のものを表示します。それは私が実際に走ろうとしているコマンドの兆候ではありません。
さらに、iniファイルには関連する部分のみが表示されます。このアプローチで
まずアプローチ
[tox]
envlist = {py27,py35}, {py27,py35}-integration
[testenv]
commands =
py27: python -m testtools.run discover
py35: python -m testtools.run discover
py27-integration: flake8 {posargs}
py35-integration: flake8 {posargs}
、ここでの理解は私もpy27
コマンドのために定義されたものを実行せずにtox -e py27-integration
実行を持つようにしたいということです。これは起こっていることではありません。代わりに、py27
とpy27-integration
の両方が実行されます。
第二のアプローチさて、ここで私は明示的に「統合」のために実行するための独自のコマンドを使用して、「サブ」環境に隔離しています
[tox]
envlist = {py27,py35}, {py27,py35}-integration
[testenv]
commands =
python -m testtools.run discover
[testenv:integration]
commands =
flake8 {posargs}
。
しかし、残念ながら、実行されている "py27"のすべての一致パターンとまったく同じ動作があります。
私はtestenv構造体を繰り返すことを避けようとしています:[testenv:py27-integration]
と[testenv:py35-integration]
は全く同じ定義を含んでいます(繰り返しは最小限に抑えることが目標です)。
私がやろうとしていることを達成する方法があるかどうかを知りたいです。
私は私達のCIパイプラインは、特定の名前の構造を期待したテンプレートを持っているので、代替命名スキームとしてp27-integration
のようなものをやってダウンベンチャーにしたくない、とこれらの名前は、例えばそのpy27
に、またTOXする慣用されているが、インストールすると理解されます2.7の仮想環境
ありがとうございます。だから、これは私に、私が探しているコマンドの分離を与えるように見える、それは素晴らしいです。残念ながら、私はまだそれらのサブ環境を作成しなければならない反復問題を解決しません。もし私がちょうど何らかの形で統合して*解決策になれたら、しかし、これは正しい方向への一歩です。ありがとうございました。 – idjaw