Travis-CI:不要因为林特警告而使构建失败

时间:2018-12-29 01:53:49

标签: python unit-testing travis-ci lint flake8

我有一个旧的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 .

2 个答案:

答案 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.