为了账号安全,请及时绑定邮箱和手机立即绑定

Travis-CI:不要因为 linter 警告而导致构建失败

Travis-CI:不要因为 linter 警告而导致构建失败

阿晨1998 2021-09-28 15:45:42
我有一个旧的 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.


查看完整回答
反对 回复 2021-09-28
?
九州编程

TA贡献1785条经验 获得超4个赞

您可以让 flake8 只检查最近的提交,以便您验证最近的更改是否合规,而不是整个项目。一旦你有信心,例如,

script:
    - python -m unittest discover -v
    - git diff -U0 $TRAVIS_COMMIT_RANGE | flake8 --diff
    - flake8 . --exit-zero

一旦最后一个命令停止打印错误,您可以修剪 --exit-zero


查看完整回答
反对 回复 2021-09-28
  • 2 回答
  • 0 关注
  • 211 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号