We have two different PEP8 linter programs that run as part of our build, using
flake8 | tee build/tests/flake8.txt
textlint | tee build/tests/textlint.txt
Both are included as input to the warnings plugin using the includes pattern "build/tests/flake8.txt,build/tests/textlint.txt"
If one file contains warnings, but the other file is empty, the warnings plugin reports an error: "Module : Skipping file of module <project workspace>/build/tests/textlint.txt because it's empty" and it will not update the build status, even if the threshold for an unstable build is 0 warnings and the other file contains warnings. It will report the warnings from the other file on the build page, though.
We worked around this by removing any empty files output by the linters, which causes the plugin to update the build status properly.