linkedin / pygradle

Using Gradle to build Python projects
https://github.com/linkedin/pygradle
Apache License 2.0
588 stars 147 forks source link

Added infrastructure to safely bump flake8 version #333

Closed elautz closed 4 years ago

elautz commented 4 years ago

Added logic in the Flake8Task to rerun the execution with ignoring a set of rules if the first execution fails. It will rerun if the IGNORE_RULES set it non-empty. This set of rules will contain any rules/checks added between flake8 versions. For example, when we bump to flake8 3.8.0, we should update the IGNORE_RULES value to hold all rules and checks added between flake8 3.6.0 and 3.8.0.

If the second run, when ignoring newly added rules, succeeds, we now emit a warning to the user stating which rules are being ignored, and which of these ignored rules failed for them. Added a method called overrideIgnoreRules() which is used for integration testings and will be used internally by LI. Integration tests were added to verify this new functionality.