CI ジョブは、チェックアウトされた tox.ini を変更せずにプロキシ環境を tox に渡せます。tox 4 の INI 設定では次のとおりです:

tox --override 'testenv.pass_env+=HTTP_PROXY,HTTPS_PROXY,NO_PROXY' -e py

+= 形式は既存の pass_env リストに追加します。単独の = はその設定済みリストを置き換えます。変数は tox を起動する環境にすでに存在している必要があり、オーバーライドが与えるのは名前だけで、プロキシの値ではありません。

対応する一時的な環境入力は次のとおりです:

TOX_OVERRIDE='testenv.pass_env+=HTTP_PROXY,HTTPS_PROXY,NO_PROXY' tox -e py

これらの例は POSIX シェルのクォートを使っています。tox は pass_env の名前を大文字と小文字を区別せずに扱うため、選択した名前は小文字の変種にも一致します。

tox ネイティブの TOML 設定では、実行環境の基底テーブルは testenv ではなく env_run_base です。実際の設定形式に合ったパスを使ってください。

これはテスト実行環境を設定するものです。別個のパッケージング環境には独自の転送ポリシーが必要な場合があります。同様に、ダウンローダーの実際の入力を比較してください。クライアントは受け取った変数を尊重するかどうかを依然として判断します。1 回限りのオーバーライドは、CI 固有の書き換えをリポジトリに残さずに済みますが、すべての実行でその経路が必要な場合にプロジェクトの意図したポリシーの代わりにはなりません。

関連記事