如何在指定-e参数时仍执行tox中所有envlist环境?
tox配置适配CI执行需求
你可以通过添加一个专门的testenv:test配置段,让tox -e test命令触发执行原有envlist中的所有环境,同时保留本地直接执行tox时的默认行为。
完整配置示例
[tox] envlist = cpySrc, py27-{AirSuspensionWakeup,AuxiliaryLightsControl}, py37-merge [testenv:test] # 跳过当前环境的依赖安装,仅作为触发入口 skip_install = true # 调用tox执行原envlist定义的所有环境 commands = tox -e {[tox]envlist}
配置说明
- 原有
[tox]段的envlist保持不变,本地直接执行tox时仍会默认运行所有定义的环境。 [testenv:test]作为CI的触发入口:skip_install = true:避免为这个仅做触发用的环境创建虚拟环境并安装依赖,节省资源。commands = tox -e {[tox]envlist}:通过tox的变量引用语法直接复用原有envlist的配置,自动触发所有目标环境的执行,无需手动复制环境列表,保证配置一致性。
这样CI执行tox -e test时,就会间接运行你原本定义的所有测试环境,完全适配CI的固定调用方式。
内容的提问来源于stack exchange,提问作者Jaume Sangenis
相关产品推荐
相关产品推荐

