I just want to re-enforce that there are no guarantees that the master branch is production quality code. We do our best to ensure it is, but it is not a release branch which is production-ready code. I say that to say that if a PR is approved and merged before it is ready, we can just make a new PR to finish up whatever was missing. It's not that big of a deal really. Less process is better.
On Mon, Jun 21, 2021 at 9:09 AM Rawlin Peters <raw...@apache.org> wrote: > I also think we shouldn't be putting more rules in place, but I'm glad > you brought this up, Zach, because we definitely want to merge more > PRs (which is a good thing -- we already have too many open PRs). I > think this is a good reminder for committers to know that they're > entrusted with the overall success of the project and that we can all > do better to communicate our intentions with respect to PR approvals. > > - Rawlin > > On Mon, Jun 21, 2021 at 8:55 AM Jeremy Mitchell <mitchell...@gmail.com> > wrote: > > > > I will admit, I am often tempted to merge "approved" PRs probably due to > my > > desire to bring down the open PR count (currently 84). And originally, I > > agreed more with Zach and thought some sort of process/agreement was > needed > > around what "approved" means but after thinking about it more and reading > > Rob's response maybe the onus is on the merger to make sure it's "ready > to > > merge" (by talking to the contributor and the approver(s)) OR maybe if > i'm > > not involved with a PR (not the contributor or an approver) I should not > > concern myself with the PR and let contributor/approvers work to get it > > merged. > > > > TLDR; if you are about to hit the merge button, make sure you talk to the > > contributor/approvers first (or read the comments like Rob said) to make > > sure it's ready for merge. > > > > On Mon, Jun 21, 2021 at 8:33 AM Robert O Butts <r...@apache.org> wrote: > > > > > I'm not really a fan of putting more rules in place around PRs. We > already > > > have a lot of rules around when you're allowed to make a PR, exactly > what > > > it has to look like, exactly what you have to put in the issue text. > > > > > > More specifically, it's pretty common to say "I'm approving this one > part > > > of this PR." People can read, I don't think we've ever had a big > problem > > > with PRs getting accidentally merged, because someone "Approved X but > not > > > Y," and people didn't read it and hit merge. > > > > > > I also occasionally Approve to mean "I am technically ok with this > being > > > merged in and maybe a Github Issue being created for some missing > thing, > > > but I would really like to see that thing added if the author doesn't > > > mind." In which case, people should read what I wrote, and not merge > it, > > > unless it's clear the author isn't going to. In which case the merger > also > > > needs to make that Issue, not just Merge without thinking about it. > > > > > > In a nutshell, people Merging always need to read the issue, not just > look > > > for "is it approved?" And I think they do, I don't think we have a > problem > > > with that. > > > > > > The more rules we have, the harder it is to build community, the > harder it > > > is to get new contributors, the harder it is to keep the contributors > we do > > > have. If we already had a big, thriving community, and had issues with > PRs > > > being unmanageable, it might make more sense. But right now, we > struggle > > > with community building drastically more than with PR management. We > need > > > to be making contributing easier, not harder. > > > > > > I understand not having strict rules leads to occasional confusion, > and as > > > you say, accidental merges, and then that has to be managed. But it's > > > really not that much work to revert, or make a new PR, or whatever the > fix > > > is. It's just git, and the `master` branch isn't release-ready anyway, > it's > > > not a big deal for it to not be perfect at all times. > > > > > > With where our project is in terms of community health, I think those > minor > > > inconveniences are drastically outweighed by the cost to community > building > > > of adding more rules around contributing. > > > > > > > > > On Fri, Jun 18, 2021 at 5:02 PM Zach Hoffman <zrhoff...@apache.org> > wrote: > > > > > > > A number of PRs submitted in the last 6 months were approved without > that > > > > PR being merged. This has caused confusion among committers, and in > some > > > > cases, the PR has been merged before the PR approver intended the PR > to > > > be > > > > merged. To avoid confusion in the future, it would help if we could > agree > > > > on some guidelines for approving PRs. Here is a draft: > > > > > > > > If you approve a PR, you are vouching that: > > > > 1. You have already tested the PR > > > > 2. You will not request for the PR to be changed any further before > it is > > > > merged. > > > > 3. The PR is ready to merge *right away*, and if someone merges it, > you > > > are > > > > okay with that and accept accountability for your approving PR > review. > > > > > > > > When not to approve the PR: > > > > • If you have not tested a PR (especially if you intend to test it > before > > > > merging), do not approve the PR. > > > > • If you want, or might want, the PR to be changed in some way > before it > > > is > > > > merged, do not approve the PR. > > > > > > > > Cases where you might approve the PR without want it to be > immediately > > > > merged: > > > > • If you are reviewing only part of a PR and are relying on other > > > > contributors to review the rest of the PR, approving the PR is okay > as > > > long > > > > as you make it clear that you are only approving that specific part. > For > > > > example, if a PR affects both Traffic Ops and Traffic Portal and you > only > > > > intend to review the Traffic Portal portion, approving the PR is > okay as > > > > long as you mention that you are only approving the Traffic Portal > > > portion > > > > of the PR. > > > > • If CI (GitHub Actions for us, currently) is running or pending and > you > > > > 100% sure that the CI will pass, approving the PR is okay. For > example, > > > if > > > > you have already seen that the GitHub Actions pass for that PR, then > the > > > > submitter adds an additional commit that should not keep the GitHub > > > Actions > > > > from passing again, approving the PR is okay. > > > > > > > > I'm a bit reluctant to submit a PR to add it to our CONTRIBUTING.md ( > > > > https://github.com/apache/trafficcontrol/blob/master/CONTRIBUTING.md > ) > > > > because the file is already pretty long, and at the bottom it says > "Don't > > > > let all these guidelines discourage you, we're more interested in > > > community > > > > involvement than perfection." IMO we should only add things that add > > > > clarity to our expectations, rather than complicating them. This > isn't a > > > > long-standing issue, and I think the vast majority of our > contributors > > > > already see "approve" as meaning "merge it now". > > > > > > > > Thoughts? > > > > > > > > -Zach > > > > > > > >