我有一个旧的 python 项目,我正在尝试使用 flake8 逐步清理它(警告 PEP8 问题)。我使用 Travis 进行持续集成,如果任何单元测试失败,我希望我的构建失败。然而,我不希望我的构建仅仅因为 flake8 产生了一个警告(例如,关于像尾随空白这样的小事)而失败。如何配置 Travis 以输出 flake8 警告(以便我可以在有时间的情况下解决它们)而不会导致它们构建失败?我的 .travis.yml 如下:language: pythonpython: - "3.6"install: - pip install -r requirements.txt - pip install flake8script: - python -m unittest discover -v - flake8 .flake8 警告示例:./meta-db/file_system.py:103:80: E501 line too long (108 > 79 characters) ./meta-db/file_system.py:106:68: W291 trailing whitespace
2 回答

心有法竹
TA贡献1866条经验 获得超5个赞
将 --exit-zero 标志添加到 flake8 允许显示 lint 警告/错误而不会使 Travis 构建失败。
script: - python -m unittest discover -v - flake8 . --exit-zero # Exit with status code "0" even if there are errors.

九州编程
TA贡献1785条经验 获得超4个赞
您可以让 flake8 只检查最近的提交,以便您验证最近的更改是否合规,而不是整个项目。一旦你有信心,例如,
script: - python -m unittest discover -v - git diff -U0 $TRAVIS_COMMIT_RANGE | flake8 --diff - flake8 . --exit-zero
一旦最后一个命令停止打印错误,您可以修剪 --exit-zero
添加回答
举报
0/150
提交
取消