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

我有一个旧的 python 项目,我正在尝试使用 flake8 逐步清理它(警告 PEP8 问题)。我使用 Travis 进行持续集成,如果任何单元测试失败,我希望我的构建失败。然而,我不希望我的构建仅仅因为 flake8 产生了一个警告(例如,关于像尾随空白这样的小事)而失败。


如何配置 Travis 以输出 flake8 警告(以便我可以在有时间的情况下解决它们)而不会导致它们构建失败?


我的 .travis.yml 如下:


language: python

python:

  - "3.6"


install:

  - pip install -r requirements.txt

  - pip install flake8


script:

  - 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


阿晨1998
浏览 212回答 2
2回答

心有法竹

将 --exit-zero 标志添加到 flake8 允许显示 lint 警告/错误而不会使 Travis 构建失败。script:   - python -m unittest discover -v   - flake8 . --exit-zero # Exit with status code "0" even if there are errors.

九州编程

您可以让 flake8 只检查最近的提交,以便您验证最近的更改是否合规,而不是整个项目。一旦你有信心,例如,script:     - python -m unittest discover -v     - git diff -U0 $TRAVIS_COMMIT_RANGE | flake8 --diff     - flake8 . --exit-zero一旦最后一个命令停止打印错误,您可以修剪 --exit-zero
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python