From 87565c763ab227cd93fe23136cfbcddde515f3e5 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Fri, 10 Aug 2018 14:49:21 -0700 Subject: [PATCH] doc: require two approvals to land changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. Fixes: https://github.com/nodejs/node/issues/19564 PR-URL: https://github.com/nodejs/node/pull/22255 Refs: https://github.com/nodejs/node/issues/19564 Reviewed-By: Anna Henningsen Reviewed-By: Сковорода Никита Андреевич Reviewed-By: Matheus Marchini Reviewed-By: Bryan English Reviewed-By: Matteo Collina Reviewed-By: Refael Ackermann Reviewed-By: John-David Dalton Reviewed-By: Ruben Bridgewater Reviewed-By: Jon Moss Reviewed-By: Benjamin Gruenbaum Reviewed-By: Trivikram Kamat Reviewed-By: Ujjwal Sharma Reviewed-By: Roman Reiss Reviewed-By: George Adams Reviewed-By: Anatoli Papirovski Reviewed-By: Tobias Nießen Reviewed-By: Michaël Zasso Reviewed-By: Myles Borins Reviewed-By: Sakthipriyan Vairamani Reviewed-By: Joyee Cheung --- COLLABORATOR_GUIDE.md | 9 +++++---- GOVERNANCE.md | 12 +++++++----- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/COLLABORATOR_GUIDE.md b/COLLABORATOR_GUIDE.md index 0c03e89a077252..1315e4a265527c 100644 --- a/COLLABORATOR_GUIDE.md +++ b/COLLABORATOR_GUIDE.md @@ -112,10 +112,11 @@ comment that explains why the PR does not require a CI run. ### Code Reviews -All pull requests must be reviewed and accepted by a Collaborator with -sufficient expertise who is able to take full responsibility for the -change. In the case of pull requests proposed by an existing -Collaborator, an additional Collaborator is required for sign-off. +At least two Collaborators must approve a pull request before the pull request +lands. (One Collaborator approval is enough if the pull request has been open +for more than 7 days.) Approving a pull request indicates that the Collaborator +accepts responsibility for the change. Approval must be from Collaborators who +are not authors of the change. In some cases, it may be necessary to summon a GitHub team to a pull request for review by @-mention. diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 83d4d9b50a7abe..40ef6e7bbe5fcb 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -32,11 +32,13 @@ Their privileges include but are not limited to: Modifications of the contents of the nodejs/node repository are made on a collaborative basis. Anybody with a GitHub account may propose a modification via pull request and it will be considered by the project -Collaborators. All pull requests must be reviewed and accepted by a -Collaborator with sufficient expertise who is able to take full -responsibility for the change. In the case of pull requests proposed -by an existing Collaborator, an additional Collaborator is required -for sign-off. +Collaborators. + +At least two Collaborators must approve a pull request before the pull request +lands. (One Collaborator approval is enough if the pull request has been open +for more than 7 days.) Approving a pull request indicates that the Collaborator +accepts responsibility for the change. Approval must be from Collaborators who +are not authors of the change. If one or more Collaborators oppose a proposed change, then the change cannot be accepted unless: