Re: [RFC] On sending forge pull request discussions to the mailing list
Christophe Lyon <[email protected]>
| Newsgroups | gmane.comp.ai.sourceware.forge,gmane.comp.gcc.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Claudio, Thanks for this comprehensive description! On 4/2/26 08:50, Claudio Bantaloukas wrote: > Hi folks, > I've thought about Joseph's proposal to send all discussion happening on > forge to the mailing list*, specifically which bot workflows would need > to be implemented and what should happen at what time and here's a > slightly specific description that I plan to implement soon. I'm posting > this to get feedback as. > > - A "PR rollup" means: > - if the user has force pushed a new version of the patch series, a > PR version is created > - if the current PR version has not been posted to the mailing list > yet, an up to date email patch series is sent > - messages related to the PR are sent as replies to the cover letter > of the latest patch series > - this includes all comments and reviews > - this includes requests to review > - excluding those that were already sent to the mailing list as > emails (the list is tracked on a database table) > - one message per comment or review > > - Messages that must not be sent to the mailing list: > - all messages by the batrachomyomachia bot > - messages by the linaro bot (that do not include a <!-- bmm:send --> > tag in the comment, which is a convention we can ask the linaro bot to > adopt for comments that are meant to be sent to the mailing list) > - comments that include a <!-- bmm:nosend --> tag, which is a > convention to allow users to explicitly exclude certain comments from > being sent to the mailing list > - comments that contain the /submit or /preview command, since they > are meant to trigger an email rather than be included in the email > themselves > > I think it will be enough to implement the following workflows in > batrachomyomachia: > - when a PR is opened > - no email is sent > - user gets a welcome comment with guidance on how to use the bot and > the available commands (a shorter version than what we currently have!) > > - when someone requests a review on a PR by setting the Reviewers list > - "PR rollup" occurs > - when someone requests a review on a PR by writing a /submit comment > - "PR rollup" occurs > - when someone posts a review on a PR (hits the Finish review button and > completes a review, with any review state) > - "PR rollup" occurs > > - When someone writes a comment that is not filtered by the rules above > - if a patch email has already been sent for the PR, an email is sent > to the mailing list with the content of the comment, with In-Reply-To > set to the message id of the last cover letter, so that it is grouped in > the same thread. > Note that this is not PR rollup (random comments don't create a new > PR version and patch posting) > - if no patch email has been sent for the PR, no email is sent to > avoid sending messages that are not linked to a patch series. These > comments will be included in the email when a patch series is eventually > sent. > > - when a PR is closed without being merged and no patch email has been > sent and no messages would be sent > - no email is sent as no interaction happened > - when a PR is closed without being merged and at least one patch email > has been sent or at least one message would be sent > - a single email is sent to the mailing list notifying about the > closure, with In-Reply-To set to the message id of the last cover letter > - the email includes all comments and reviews in sequence > > I think this strikes a balance between wanting to keep the mailing list > up to date with what's happening and overwhelming it with too many emails. I agree this seems reasonable, all of the above makes sense. > > One thing to add: the linaro bot currently updates existing comments so > it will be good to figure out which messages are a "final state" and > either make the bot recognize them or mark them with <!-- bmm:send -->. Hmmm thanks to your help & suggestions a few months ago I managed to reduce the amount of comments generated by the Linaro bot using these HTML markers/comments: now it updates comments in place when the status changes (pending/running/completed). How to detect a comment is the final one I'm not sure (if there's a crash during the "running" phase, there will probably never be a "completed" update). Thanks! Christophe > > * https://forge.sourceware.org/forge/batrachomyomachia/issues/15 > > > Cheers > Claudio