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/>