I don't know about the rest of you, but I want an easy way to glance at a
pull request and know what it's currently blocking it from being merged (if
I'm wrong then let me know). I opened
https://github.com/python/core-workflow/issues/94 for this idea, but I
figured what the exact stages should be deserves a wider discussion.
The stages I see are:
1. *Awaiting first review*: no one has reviewed the PR
2. *Awaiting core review*: a non-core dev has reviewed the PR, but there
still needs to be that initial core review (still not sure if this is worth
the distinction or how complex it will make the code, but it may encourage
people to help in the reviewing process instead of automatically diving
into coding if their review leads to a visible stage change)
3. *Awaiting changes*: a review has been done, but changes were
requested (probably wouldn't reach this stage for non-core reviews; a bit
tough to block on a non-core review as their asks may not be reasonable and
so shouldn't automatically signal that what someone that they must do what
is requested of them in that instance)
4. *Awaiting Nth review/re-review*: the PR submitter believes all the
requests have been addressed in all reviews and so is waiting on the
reviewer(s) who requested changes to review again (will need to provide a
way to leave a message that signals to Bedevere that the submitter feels
ready for another review)
5. *Awaiting merge*: all reviews approve of the PR (we could also drop
the "awaiting core review" stage and go straight here even for non-core
reviews that are all approvals, but maybe that's leaning on non-core devs
too much and giving false hope to PR submitters?)
Am I missing a step?