Maybe we should just remove the pr-awaiting-testing state entirely. Either it's WIP or CI passed.
-Marco On Sat, Aug 1, 2020 at 12:21 PM Marco de Abreu <[email protected]> wrote: > Hi, > > I generally like the idea, thanks for improving the user experience for > the project, Chai! One thing that would be important to me is avoiding a > constant shifting between the states. The PR shouldn't switch to > "awaiting-testing" every single time CI is retriggered but rather have some > consistency. But that's something we can also tweak as we go. > > Before the bot is run, a small heads up would be nice. Just running a > batch job on the repository - especially using others' credentials - > without previous approval is not that nice. Hence, please run your tests a > non-intrusive way until the bot has been approved for deployment. > > With regards to the ticket, I'm happy to be of assistance. Just send the > secret to my personal email. > > Best regards > Marco > > On Fri, Jul 31, 2020 at 9:12 PM Sheng Zha <[email protected]> wrote: > >> +1, thanks for driving this. Here's the pseudo code for the PR labeling >> for better readability: >> >> if WIP in title or PR is draft or CI failed: >> pr-work-in-progress >> elif CI has not started yet or CI is in progress: >> pr-awaiting-testing >> else: # CI passed checks >> if pr has at least one approval and no request changes: >> pr-awaiting-merge >> elif pr has no review or all reviews have been dismissed/re-requested: >> pr-awaiting-review >> else: # pr has a review that hasn't been dismissed yet no approval >> pr-awaiting-response >> >> Best, >> Sheng >> >> On 2020/07/31 18:08:34, Chaitanya Bapat <[email protected]> wrote: >> > Hello MXNet community, >> > >> > Banking on the success of mxnet-bot that has been triggering CI >> > successfully for the past 3 months, Sheng proposed an idea for >> automatic PR >> > labeling. I am working on the implementation of the same. >> > >> > *What's the idea?* >> > An automated way of labeling PRs based on the status of CI. >> > >> > *Why?* >> > >> > This serves dual purpose >> > >> > - Automates the labeling [currently manual] >> > - Allows contributors to prioritize review of PRs. >> > >> > *How?* >> > 1. Github webhook would send status update events to the Lambda function >> > 2. Lambda would then label the CI based on following conditions >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > *if WIP in title or PR is draft or CI failed: >> pr-work-in-progresselif CI >> > has not started yet or CI is in progress: pr-awaiting-testingelse: # >> CI >> > passed checks if pr has at least one approval and no request changes: >> > pr-awaiting-merge elif pr has no review or all reviews have been >> > dismissed/re-requested: pr-awaiting-review else: # pr has a >> > review that hasn't been dismissed yet no approval >> > pr-awaiting-response* >> > >> > To that end, a POC was done to test if it's possible & result: it works. >> > Results of 1 successful run on Prod for apache/incubator-mxnet repo >> > >> > Open PRs : 207 >> > PRs labeled : 18 >> > PRs already labeled : 38 >> > PRs with unknown jobs : 2 >> > PRs with status failed : 149 >> > >> > Lambda function labeled 18 PRs that had passed all the tests. >> > >> > PR for POC: https://github.com/apache/incubator-mxnet-ci/pull/27 >> > However, Marco made a valid point regarding leveraging Github Webhooks >> > [instead of Jenkins] for retrieving status of the PR. >> > >> > *What's required?* >> > Thus, to get this feature functional, I'd need a separate Github webhook >> > that sends information related to PR Status. Just like the webhook >> request >> > for CI Bot, I can send the details over private email to Marco's >> personal >> > email address & then he can create a ticket with Apache Infra. >> > >> > Thanks to Sheng & Marco for guidance & assistance on this. >> > >> > Thanks, >> > Chai >> > >> > -- >> > *Chaitanya Prakash Bapat* >> > *+1 (973) 953-6299* >> > >> > [image: https://www.linkedin.com//in/chaibapat25] >> > <https://github.com/ChaiBapchya>[image: >> https://www.facebook.com/chaibapat] >> > <https://www.facebook.com/chaibapchya>[image: >> > https://twitter.com/ChaiBapchya] <https://twitter.com/ChaiBapchya >> >[image: >> > https://www.linkedin.com//in/chaibapat25] >> > <https://www.linkedin.com//in/chaibapchya/> >> > >> >
