Some tools can raise issues on lines that haven't been changed, but a change elsewhere has caused them to error.
For such cases, it may be better to run the tool on the old commit, as well as the new commit and the complement will be the list of issues found.
GopherCI would then need handle commenting on lines of code that haven't changed, so an inline comment may not be possible. It may be just a matter of still failing the build, and having the analysis page show the issue but not on the patch, just the summary of issues per tool.
It may be possible then assign a tool as requiring complement filter (instead of revgrep filter), which would run those tools in a different way (checking out old ref, running tool, checking out new ref, returning the complement).
Some tools can raise issues on lines that haven't been changed, but a change elsewhere has caused them to error.
unused(and similar tools) detect when an identifier is no longer used, a change that removes the last reference to the identifier would appear to be removed in the diff, but the unused identifier would not be. This will be excluded from revgrep.apicompathas similar behaviour in Support detecting apicompat's removed members from struct/interface type #63.For such cases, it may be better to run the tool on the old commit, as well as the new commit and the complement will be the list of issues found.
GopherCI would then need handle commenting on lines of code that haven't changed, so an inline comment may not be possible. It may be just a matter of still failing the build, and having the analysis page show the issue but not on the patch, just the summary of issues per tool.
It may be possible then assign a tool as requiring complement filter (instead of revgrep filter), which would run those tools in a different way (checking out old ref, running tool, checking out new ref, returning the complement).