Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34.3k
doc: require two approvals to land changes#22255
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uh oh!
There was an error while loading. Please reload this page.
Conversation
nodejs-github-bot commented Aug 10, 2018
ChALkeR commented Aug 10, 2018 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
LGTM, though I am curious how many (and which exact) changes landed with only one collaborator review this year. That might give us some hints how would this affect the review time and what changes might become harder to land. I expect close to 0. |
jasnell commented Aug 10, 2018
I'm generally -1 on this as I don't see the change as being necessary. 1 approval should be enough if the change is relatively constrained and the list of people who have the necessary domain knowledge to adequately review is small. |
jasnell left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Making it explicit
Trott commented Aug 10, 2018 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
bengl left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With well over 100 collaborators, this seems reasonable.
COLLABORATOR_GUIDE.md Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This may be a good opportunity to clarify that we mean at least two, and not exactly two.
mcollina left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Considering those numbers and the types of commits, I do not see this as needed.
joyeecheung commented Aug 10, 2018
Maybe we can make exceptions for certain subsystems? AFAICT crypto may need that. |
Trott commented Aug 10, 2018 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
@jasnellThe last time we reviewed changes that had only one approval, none of them fit that description. (Specifically: None of them were "There's nobody who can review this code because it requires specific domain knowledge.") I think preserving the one-approval rule for that reason is preserving it for a problem that we don't actually have. As I wrote at that time:
|
Trott commented Aug 10, 2018 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
@mcollina With only one exception (85b0f16), all of the commits seem like they could have obtained more reviews with just a little effort. I mean, look at f386c7e. Time to repeat the exercise from last time:
|
Trott commented Aug 10, 2018
@joyeecheung Maybe, although that undermines the simplicity/consistency aspect. The only recent commit where reviews were actively sought and not obtained was a crypto one (85b0f16). On the other hand, that is the only crypto PR that has landed this year with only one review. And there have been a good number of crypto commits. So maybe it's not such a problem for crypto after all? Kind of interested in what @tniessen thinks, as he's the one that was trying to get reviews and only got one. |
jasnell commented Aug 10, 2018
@Trott... for me, there's no exercise to go through... this appears to be solving for a problem that doesn't exist. |
refack left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 👍
refack commented Aug 10, 2018 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
IMHO velocity on it's own is not a goal. Having more review should be a great tool to improve code quality, which should be of higher priority. I'd also like for us to put more emphasis on the other parts of that paragraph:
It seems to me that this will go to a vote. In that case we might want to consider expanding the scope of this change (longer review window, cap maximum of approvals, require /CC of "code owners") Ref: nodejs/CTC#144 |
addaleax commented Aug 10, 2018 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
This. 💯 If we can’t get enough reviewers, then we really should force ourselves to put effort into making more people familiar with the relevant code. |
BridgeAR left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I agree with @joyeecheung tough that an exception could/should be made for crypto.
jasnell commented Aug 11, 2018
Having more reviewers per PR is a fantastic goal. Imposing additional process does not accomplish that, encouraging more folks to get involved does. |
Trott commented Aug 11, 2018 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
|
benjamingr commented Aug 11, 2018
One problem is that for some PRs in less glorious and well known parts of the code getting even one review is hard. Can we get an estimate of how many pull requests did not get a single review in 3 days? |
benjamingr commented Aug 11, 2018
Another issue is that people might not be as responsible when reviewing (e.g run the actual code and play with the changes) when reviewing if they think at least one other person is responsible. I think this has a name in psychology. |
benjamingr left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I’m going to +1 since I think more eyes is good - but I eventually would like us to work towards a better review process.
PR-URL: #23249 Refs: #22255 Reviewed-By: Refael Ackermann <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Trivikram Kamat <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Refs: nodejs#22255 PR-URL: nodejs#24561 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Anatoli Papirovski <[email protected]>
Refs: #22255 PR-URL: #24561 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Anatoli Papirovski <[email protected]>
Refs: #22255 PR-URL: #24561 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Anatoli Papirovski <[email protected]>
One Collaborator approval is enough only if the pull request has been open for more than 7 days Refs: nodejs/node#22255
Refs: #22255 PR-URL: #24561 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Anatoli Papirovski <[email protected]>
Refs: nodejs#22255 PR-URL: nodejs#24561 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Anatoli Papirovski <[email protected]>
Refs: #22255 PR-URL: #24561 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Anatoli Papirovski <[email protected]>
Refs: #22255 PR-URL: #24561 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Anatoli Papirovski <[email protected]>
One Collaborator approval is enough only if the pull request has been open for more than 7 days Refs: nodejs/node#22255
One Collaborator approval is enough only if the pull request has been open for more than 7 days Refs: nodejs/node#22255
One Collaborator approval is enough only if the pull request has been open for more than 7 days Refs: nodejs/node#22255
One Collaborator approval is enough only if the pull request has been open for more than 7 days Refs: nodejs/node#22255
One Collaborator approval is enough only if the pull request has been open for more than 7 days Refs: nodejs/node#22255
First in a series that will hopefully streamline/simplify our policies. I don't want this to slip in unnoticed and it's a significant procedural change being proposed, so: @nodejs/collaborators
Currently, changes require approval by one Collaborator in most cases.
However there are situations where two approvals are required. For
example, breaking changes require two approvals from TSC members. And
fast-tracking a request requires two approvals.
Additionally, although only one approval is strictly required, in
practice, we nearly always seek a second approval when there is only
one.
Lastly, concerns have been raised about (perhaps unintentionally) gaming
the one-approval system by suggesting a change to someone else, and then
approving that change when the user submits a pull request. This
resolves (or at least mitigates) that concern.
Refs: #19564
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passes