只在TravisCI上运行某些Tox命令
问题描述:
我想让代码覆盖命令只在TravisCI的Tox中运行。我会怎么做?只在TravisCI上运行某些Tox命令
如果我只是将其粘贴到.travis.yml
文件中,codecov库不起作用,并且我希望它在正常的tox测试期间不能运行,因为它使控制台的方式太混乱。
答
支票$TRAVIS
环境变量的存在,看到here对于其他人特拉维斯设置
也许你需要这行添加到您的tox.ini
:
passenv = TRAVIS
或
您可以创建您的一个自定义条目tox.ini
[testenv:travis]
deps= ...
commands= <your travis command>
,如果你需要需要添加一个步骤
[testenv]
commands =
....
travis: <your travis command>
,如果你只需要改变依赖更改deps
作为
[testenv]
deps =
travis: <your travis dependencies>
在travis.ini
通话tox -e travis
注意不在您的envlist=
,如果你需要一个步骤添加到矩阵
[testenv]
passenv = TRAVIS
commands =
- ...
- sh -c 'if [ '{env:TRAVIS:}' = 'true' ]; then ...... ; fi'
我知道,你可以通过'$ TRAVIS'环境变量,但如何用它来修改TOX的行为(不写多了一个选择自定义python脚本来处理它)? – Gamrix
我在tox.ini中的这些“复杂”shell命令中使用的符号有困难。你可能想把它们放到一个shell脚本中,或者更好的是一个Python脚本。 –