Thanks Weston! > @Andrew What does "waiting for review" mean to you? Does "no existing > reviewers and passes checks" sound reasonable?
Yes those and "not a draft PR" > Is there a distinction between "never reviewed and ready" and "has been reviewed but review is re-requested"? Not for me -- once a PR has had a review, the author then has someone they can @Mention <ment...@noreply.github.com> to move the process along if needed. Andrew On Fri, Mar 12, 2021 at 10:34 PM Weston Pace <weston.p...@gmail.com> wrote: > So I took some time to look this over today and consider the > possibilities. I also explored the basic capabilities available from > Github more and learned a few tricks and capabilities that I didn't > realize existed. > > @Wes I'm not sure how the Spark dashboard is helpful. This may be a > case of simply not understanding the intended workflow but it seems > like a more cluttered version of Github's own PR dashboard. The > columns that are unique to the dashboard (like shepherd or commenters) > are either unknown to me (shepherd) or I don't understand how it is > helpful (commenters). You can filter by component but Github's > dashboard allows filtering by label as well and we have labels for all > the components. So at the moment I am leaning towards enriching > Github vs creating something new. > > @Andrew What does "waiting for review" mean to you? Does "no existing > reviewers and passes checks" sound reasonable? Is there a distinction > between "never reviewed and ready" and "has been reviewed but review > is re-requested"? Github already has a "no reviews" filter so I think > if there were a "ready-for-review" label (such a label actually exists > in the repo but is not used) then that should be doable. > > @Neal Andrew is correct, these labels would need to be applied by > Github Actions. However, the actions API is pretty extensive and > capable of all the labels I'm suggesting. > > There are a few potential labels I am considering. Does anyone have > any strong feelings on... > > * Size labels - There are existing Github actions to label PRs based > on their size (e.g. making a "tiny" label if the PR is less than 100 > lines changed). The theory being (presumably) that you can quickly > address the tiny reviews and get them out of your way > * Ready for review - I mentioned this above but this label would be > applied if checks are passing and either there are no reviews or all > reviews have been re-requested > * Needs attention - If a PR is in a "ready for review" state for some > number of days then it could be flagged as "needs attention" to help > make sure someone acts on it > * First time contributor - If a PR is from a user that has never > contributed to the repository before this label could be added, > similar to Stack Overflows "first time user" label > > In addition to labels, we could add the ability for users to perform > certain actions using comments (github actions can watch comments). > Suggested: > > * Needs review - By typing "please review" the user can have the > "ready for review" label applied (the help comment that is applied to > new issues could include these directions). This could be useful if > we decide to not automatically apply "ready for review" or if a user > decides a failing check is invalid / unrelated. > * Ignore failing checks - By typing "please ignore failing checks" the > user can have the "ready for review" label applied even if there are > failing checks. This is somewhat mutually exclusive with the above > item but probably necessary if we decide to automatically apply the > ready for review label. > > On Mon, Mar 8, 2021 at 12:08 PM Andrew Lamb <al...@influxdata.com> wrote: > > > > @Weston: Adding a system to figure out when PRs are waiting for review > > would really help me personally. I spend non trivial time trying to make > > sure we don't miss any Rust PRs that come in and it gets challenging to > > filter out the ones that are WIP. > > > > Having a bot add some labels would be great. > > > > @Neil: Prior to being a committer I could not change labels on PRs, so I > > don't think it is possible. Perhaps the bot could add the labels on their > > behalf based on comments ("bot this is ready for review" or something) > > > > > > On Sun, Mar 7, 2021 at 10:28 PM Neal Richardson < > neal.p.richard...@gmail.com> > > wrote: > > > > > Are non-committers able to add/remove tags to PRs? Sounds like a good > way > > > to increase visibility/searchability of PRs needing review, but it > would > > > only work if everyone is authorized to modify tags. > > > > > > Neal > > > > > > On Sun, Mar 7, 2021 at 12:24 PM Wes McKinney <wesmck...@gmail.com> > wrote: > > > > > > > This sounds like a nice idea as long as the bot doesn't generate too > > > > much potentially spurious info (i.e. the "needs improvement" label > > > > when it perhaps need not). > > > > > > > > Note that the Spark community set up a pretty handy PR dashboard > > > > > > > > https://spark-prs.appspot.com > > > > > > > > It's open source: https://github.com/databricks/spark-pr-dashboard > > > > > > > > Frankly I think we are getting to (and probably well past) the point > > > > that scrolling through > 100 PRs in GitHub is not a good use of > > > > reviewer time, so creating some kind of "semantic layer" on top of > the > > > > PR review queue (like what the Spark folks did) would help a great > > > > deal. So rather than trying to work entirely within the GitHub > > > > platform (which is not designed for the needs of large projects with > > > > this many PRs), something more structured and useful could be > created. > > > > If you look at the Spark dashboard, that is 10x more helpful than > > > > browsing GitHub is right now, whether there are issue labels or not. > > > > > > > > On Sat, Mar 6, 2021 at 10:41 PM Weston Pace <weston.p...@gmail.com> > > > wrote: > > > > > > > > > > Since we're on the topic of improving the workflow I had a > proposal to > > > > > consider. Right now the review process is pretty ad-hoc which is > fine > > > > > but can be a bit tricky to keep track of. > > > > > > > > > > I think it could be improved with a bot to label PRs. The labels > would > > > > be... > > > > > > > > > > state: failing tests - Any PR starts in this state until either all > > > > > tests pass or the submitter could say something like "please > review" > > > > > to bypass (e.g. in case an intermittent or unrelated test failed > since > > > > > non-committers are not able to rerun jobs). Add something to > > > > > developer docs FAQ about this bypass. > > > > > > > > > > state: needs review - Once all tests pass a PR would move into this > > > > state. > > > > > > > > > > state: needs improvement - If someone makes a review with the > > > > > "comment" or "request changes" action the PR moves into this state. > > > > > To clear this state the user must click "re-request review". Add > > > > > something to developer docs FAQ about this since it may be > > > > > unintuitive. > > > > > > > > > > That's it. I'd be happy to create the bot if the community thinks > it > > > > > is a good idea. None of this would be required or authoritative. > > > > > It's merely a label to help for tracking purposes. Reviewers could > > > > > presumably use the tags to create some kind of dashboard showing > which > > > > > PRs need review and which have been waiting for review the longest. > > > > > Even without that, it would serve to make it clear to the submitter > > > > > and the reviewers where the action is. > > > > > > > > > > -Weston Pace > > > > > > > >