我有一个旧的python项目,正在尝试逐步使用flake8进行清理(警告PEP8问题)。我使用Travis进行持续集成,并希望如果任何单元测试失败,我的构建也会失败。但是,我不希望我的构建仅因为flake8产生了警告而失败(例如,有关尾随空白的小事)。
如何配置Travis输出flake8警告(以便在有空的时候可以解决它们)而不会导致构建失败?
我的.travis.yml在下面:
print("hello\n"*50)
flake8警告示例:
language: python
python:
- "3.6"
install:
- pip install -r requirements.txt
- pip install flake8
script:
- python -m unittest discover -v
- flake8 .
答案 0 :(得分:4)
您可以让flake8仅检查最近的提交,以便您验证最近的更改是否合规,而不是整个项目。一旦有信心,例如
script:
- python -m unittest discover -v
- git diff -U0 $TRAVIS_COMMIT_RANGE | flake8 --diff
- flake8 . --exit-zero
最后一条命令停止打印错误后,您可以修剪--exit-zero
答案 1 :(得分:3)
在flake8中添加--exit-zero标志可以在不使Travis构建失败的情况下显示棉绒警告/错误。
script:
- python -m unittest discover -v
- flake8 . --exit-zero # Exit with status code "0" even if there are errors.