My bot isn't running publicly yet, but you can see the start of it working at:
https://github.com/grpc/grpc-go/pull/546 or https://github.com/grpc/grpc-go/pull/545
(Code is at https://github.com/LetsUseGerrit/gerritbot for now, but I don't imagine anybody would use the code themselves... they'd only interact with it via the Github bot)
> is there anything for github that does the same? Maybe one of their offline tools?
Nope. Even the API doesn't allow this, you can only create one "review comment" at a time and no matter how fast you create them (or if you carefully create all of them over a persistent connection) each and every one of them will generate one notification and one outbound mail.
That went pretty well the first time I tried to get a linter to annotate a PR. The annotation worked, but I discovered some people's mailboxes can not handle getting 50 mails from the same source in a fraction of a second (and oddly enough people are not fond of getting 50 one-line emails from the same place).
(I asked github support about it, they confirmed the only workaround is to not use inline comments)
This taught me (or reminded me of) two things:
* GitHub is so dominant that even its poor decisions are being enshrined as "the way things work"
* Gerrit really needs some UI love as well.
That said, performance is always an issue, it's just a question of where to set the target.
My biggest issue, which I guess is a non-issue for most others?, is I hate when reviewing a PR that every single line comment generates a message/email.
Maybe it's because I'm used to Rietveld but my normal workflow is to start reading the patch and adding comments. I might have made 10 separate line comments before I get to a part of the patch that invalidates all those comments. Therefore I don't want them sent until I'm ready. I want to be able to make line comments across all files in the PR and only when I'm ready, send them as one coherent message.
As it is now, AFAICT, the only way to do this is to write line comments in some other file on my computer and then later manually find the lines again in github and add them one at a time. Rietveld also lets you respond to line comments inline and mark them as "done".
is there anything for github that does the same? Maybe one of their offline tools?