Python Travis CI:不要因为linter警告而导致构建失败
我有一个旧的python项目,我正在尝试使用flake8逐步清理它(以警告PEP8问题)。我使用Travis进行持续集成,如果任何单元测试失败,我希望我的构建失败。然而,我不希望我的构建失败仅仅因为flake8产生了一个警告(例如,关于一些次要的东西,比如拖尾空白) 如何配置Travis以输出flake8警告(以便我有时间解决它们),而不会导致生成失败 我的.travis.yml如下:Python Travis CI:不要因为linter警告而导致构建失败,python,unit-testing,travis-ci,lint,flake8,Python,Unit Testing,Travis Ci,Lint,Flake8,我有一个旧的python项目,我正在尝试使用flake8逐步清理它(以警告PEP8问题)。我使用Travis进行持续集成,如果任何单元测试失败,我希望我的构建失败。然而,我不希望我的构建失败仅仅因为flake8产生了一个警告(例如,关于一些次要的东西,比如拖尾空白) 如何配置Travis以输出flake8警告(以便我有时间解决它们),而不会导致生成失败 我的.travis.yml如下: language: python python: - "3.6" install: - pip in
language: python
python:
- "3.6"
install:
- pip install -r requirements.txt
- pip install flake8
script:
- python -m unittest discover -v
- flake8 .
示例8警告:
./meta-db/file_system.py:103:80: E501 line too long (108 > 79 characters)
./meta-db/file_system.py:106:68: W291 trailing whitespace
将--exit zero标志添加到flake8允许在不使Travis构建失败的情况下显示lint警告/错误
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