Hi Enrico, Thanks for your tech details! We can introduce Bot to community to perform reasonable tasks (like “send a reminder and give directions to newbies” and more).
Anyone would like to help implement this? Thanks! ---------------------------------------------------------------------------------------------------------- Anonymitaet, Thank you for bringing this to the attention of the community ( I am keeping only dev@ in this thread for the moment). some answers inline below Enrico Il giorno mer 21 lug 2021 alle ore 09:23 Anonymitaet _ < anonymita...@hotmail.com<mailto:anonymita...@hotmail.com>> ha scritto: > Hi All, > > > > To help iterate Pulsar fast and better, we triage Pulsar issues and review > PRs every day. Recently, we find some issues that might slow down the > iteration process. > > For example, > > - Scenario 1: Some PRs get approvals, but they cannot be merged > because of the frequently failed tests. Sometimes it takes a long time to > re-run the tests several times, and contributors and committers need to go > back to check the status repeatedly. Sometimes PRs are not merged even > though the tests pass since we forget to take care of them. > > retrying forever is not a good strategy, because if the PR is introducing flakiness you won't see it. At the beginning of this 2021 year we did great work in order to put CI in good shape again. From my point of view, if there are new problems we have to address them. I believe that once a reviewer/committer jumps in a PR and sponsors it then he/she should take care of the PR, verifying CI and helping the contributor to see the patch committer. > > - > - Scenario 2: New contributors first come here and submit their PRs, > while they do not know request who to review and how to proceed next. If no > one offers help, these PRs might be suspended for a while. > > This is about taking care of PRs in general. I wanted to start this discussion but I hadn't a chance to do it, thanks for bringing this on top of table. > > This makes us consider how to optimize the project management. After > observing how Bot work effectively in other open source projects, we think > Bot can automate workflows and help Pulsar iterate faster. > > For example, > > (The following solutions may not be workable for Pulsar, they are just > assumptions, we can discuss the implementation details later.) > > - Solution for scenario 1: we can set Bot to automatically re-run the > test until succeed. After that, it sends a reminder informing that this PR > can be merged. > > This is not good, see my answer before. it will lead to more flakyness and especially to a major waste of resources. For instance during these days there is something that broke CI and we are investigating. Every PR validation is failing the ITs regarding Python. If we were rerunning CI jobs for all the open PRs then all Apache GitHub Actions credit would be wasted for jobs that are deemed to not succeed. > > - > - Solution for scenario 2: we can set Bot to send a reminder and give > directions to newbies (example: > https://github.com/pingcap/docs/pull/5998#issuecomment-882270956). > > This makes sense to me, we can try to go down this way ! I believe it is a very good idea Enrico From: Anonymitaet _ <anonymita...@hotmail.com> Date: Wednesday, July 21, 2021 at 15:23 To: Dev <dev@pulsar.apache.org>, "us...@pulsar.apache.org" <us...@pulsar.apache.org> Subject: [Workflow] Introduce Bot to Pulsar Hi All, To help iterate Pulsar fast and better, we triage Pulsar issues and review PRs every day. Recently, we find some issues that might slow down the iteration process. For example, * Scenario 1: Some PRs get approvals, but they cannot be merged because of the frequently failed tests. Sometimes it takes a long time to re-run the tests several times, and contributors and committers need to go back to check the status repeatedly. Sometimes PRs are not merged even though the tests pass since we forget to take care of them. * Scenario 2: New contributors first come here and submit their PRs, while they do not know request who to review and how to proceed next. If no one offers help, these PRs might be suspended for a while. This makes us consider how to optimize the project management. After observing how Bot work effectively in other open source projects, we think Bot can automate workflows and help Pulsar iterate faster. For example, (The following solutions may not be workable for Pulsar, they are just assumptions, we can discuss the implementation details later.) * Solution for scenario 1: we can set Bot to automatically re-run the test until succeed. After that, it sends a reminder informing that this PR can be merged. * Solution for scenario 2: we can set Bot to send a reminder and give directions to newbies (example: https://github.com/pingcap/docs/pull/5998#issuecomment-882270956). This is not an exhaustive list, just give a few examples showing Bot can improve development effectiveness and efficiency with various commands (example: https://prow.tidb.io/command-help). Can we introduce Bot to Pulsar? Any suggestions or security considerations? We'd love your feedback here! Thanks Anonymitaet