CPython review assistant


(Pablo Galindo Salgado) #1

We all know that is very challenging to keep track with GitHub notifications. The situation has improved a lot recently, but (at least for me) is not easy to keep organized all the mail, the notifications in the GitHub webpage, the Pull Request reviews…etc Also, we have more than 950 open Pull Requests, which does not help the situation. While doing some reviews, I wanted to answer one question recently:

What Pull requests are waiting for me to do something?

Notice that answering this is not easy because it requires to analyze if you requested changes in a Pull Request, and if you did so, if the Pull Request author has commented since your last review or push some commits since your last review or has commented something after your last comment. If you are attending lots of Pull Request, this task becomes very difficult.

To help with this I have prototyped this:

https://cpython-review-assistant.herokuapp.com

Is a simple application where you can log in with your GitHub account and it will analyze all the Pull Request you are involved with and it will tell you the ones that are blocked on you.

What do you think? Do you find it useful? Will you use this when you want to review Pull Request?


Some Notes

This application is a very simple prototype so people can tell if they find it useful or not. It is not completed and it has some known limitations / rough edges, but I prefer to get the general opinion before expending more cycles on this.

If you are involved in lots of Pull Request, it may be a bit slow because it has to query GitHub for all the information. This will improve in the future.


#2

Thanks for building this!
I think it is really useful. I tried it with my account.

One of the PR that the app identified as blocked by me, is https://github.com/python/cpython/pull/4725.

While it is true that there are new changes since I last reviewed it, it is also awaiting more changes from the PR author (it has awaiting changes label) in addition there’s merge conflict. So technically I’m not the blocker…

I think it would be better if such PR is excluded from the result. Or, still show the PR in my list, but also show the additional problems, like the “waiting changes” label, and the “mergeable=false” data.


(Pablo Galindo Salgado) #3

Thank you very much for trying it out :partying_face:

Thanks for the advice! :smile: I have modified the application to exclude pull requests with merge conflicts. In the future, I will exclude Pull requests that do not have the ‘awaiting review’ label, but as some people forget to say the ‘please review again’, I think that for now I will show them, maybe with some sentence explaining that. :slight_smile: