Skip to content

Commit 7747097

Browse files
nzakasamareshsm
andauthored
docs: Update PR review process (#18233)
* docs: Update PR review process * Update docs/src/maintain/review-pull-requests.md Co-authored-by: Amaresh S M <[email protected]> * Update docs/src/maintain/review-pull-requests.md Co-authored-by: Amaresh S M <[email protected]> * Update docs/src/maintain/review-pull-requests.md Co-authored-by: Amaresh S M <[email protected]> * Clarify what to do for PRs with open issues --------- Co-authored-by: Amaresh S M <[email protected]>
1 parent b07d427 commit 7747097

File tree

2 files changed

+41
-14
lines changed

2 files changed

+41
-14
lines changed

docs/src/maintain/manage-issues.md

+2
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ All of ESLint's issues and pull requests, across all GitHub repositories, are ma
4343
* **Blocked**: The issue can't move forward due to some dependency
4444
* **Ready to Implement**: These issues have all the details necessary to start implementation
4545
* **Implementing**: There is an open pull request for each of these issues or this is a pull request that has been approved
46+
* **Second Review Needed**: Pull requests that already have one approval and the approver is requesting a second review before merging.
47+
* **Merge Candidates**: Pull requests that already have at least one approval and at least one approver believes the pull request is ready to merge into the next release but would still like a TSC member to verify.
4648
* **Completed**: The issue has been closed (either via pull request merge or by the team manually closing the issue)
4749

4850
We make every attempt to automate movement between as many columns as we can, but sometimes moving issues needs to be done manually.

docs/src/maintain/review-pull-requests.md

+39-14
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ The bot will add a comment specifying the problems that it finds. You do not nee
2626

2727
Once the bot checks have been satisfied, you check the following:
2828

29-
1. Double-check that the commit message tag ("Fix:", "New:", etc.) is correct based on the issue (or, if no issue is referenced, based on the stated problem).
29+
1. Double-check that the pull request title is correct based on the issue (or, if no issue is referenced, based on the stated problem).
3030
1. If the pull request makes a change to core, ensure that an issue exists and the pull request references the issue in the commit message.
3131
1. Does the code follow our conventions (including header comments, JSDoc comments, etc.)? If not, please leave that feedback and reference the [Code Conventions](../contribute/code-conventions) documentation.
3232
1. For code changes:
@@ -37,28 +37,55 @@ Once the bot checks have been satisfied, you check the following:
3737

3838
**Note:** If you are a team member and you've left a comment on the pull request, please follow up to verify that your comments have been addressed.
3939

40-
## Who Can Merge a Pull Request
40+
## Required Approvals for Pull Requests
4141

42-
TSC members, Reviewers, Committers, and Website Team Members may merge pull requests, depending on the contents of the pull request.
42+
Any committer, reviewer, or TSC member may approve a pull request, but the approvals required for merging differ based on the type of pull request.
4343

44-
Website Team Members may merge a pull request in the `eslint.org` repository if it is:
44+
One committer approval is required to merge a non-breaking change that is:
4545

4646
1. A documentation change
47+
1. A bug fix (for either rules or core)
4748
1. A dependency upgrade
49+
1. Related to the build
4850
1. A chore
4951

50-
Committers may merge a pull request if it is a non-breaking change and is:
52+
For a non-breaking feature, pull requests require approval from one reviewer or TSC member, plus one additional approval from any other team member.
53+
54+
For a breaking change, pull requests require an approval from two TSC members.
55+
56+
::: important
57+
If you approve a pull request and don't merge it, please leave a comment explaining why you didn't merge it. You might say something like, "LGTM. Waiting three days before merging." or "LGTM. Requires TSC member approval before merging" or "LGTM. Would like another review before merging."
58+
:::
59+
60+
## Moving a Pull Request Through the Triage Board
61+
62+
When a pull request is created, whether by a team member or an outside contributor, it is placed in the "Needs Triage" column of the Triage board automatically. The pull request should remain in that column until a team member begins reviewing it.
63+
64+
If the pull request does not have a related issue, then it should be moved through the normal [triage process for issues](./manage-issues) to be marked as accepted. Once accepted, move the pull request to the "Implementing" column.
65+
66+
If the pull request does have a related issue, then:
67+
68+
* If the issue is accepted, move the pull request to the "Implementing" column.
69+
* If the issue is not accepted, move the pull request to the "Evaluating" column until the issue is marked as accepted, at which point move the pull request to "Implementing".
70+
71+
Once the pull request has one approval, one of three things can happen:
72+
73+
1. The pull request has the required approvals and the waiting period (see below) has passed so it can be merged.
74+
1. The pull request has the required approvals and the waiting period has not passed, so it should be moved to the "Merge Candidates" column.
75+
1. The pull request requires another approval before it can be merged, so it should be moved to the "Second Review Needed" column.
76+
77+
When the pull request has a second approval, it should either be merged (if 100% ready) or moved to the "Merge Candidates" column if there are any outstanding concerns that should be reviewed before the next release.
78+
79+
## Who Can Merge a Pull Request
80+
81+
TSC members, reviewers, committers, and website team members may merge pull requests, depending on the contents of the pull request, once it has received the required approvals.
82+
83+
Website Team Members may merge a pull request in the `eslint.org` repository if it is:
5184

5285
1. A documentation change
53-
1. A bug fix (for either rules or core)
5486
1. A dependency upgrade
55-
1. Related to the build tool
5687
1. A chore
5788

58-
In addition, committers may merge any non-breaking pull request if it has been approved by at least one TSC member.
59-
60-
TSC members may merge all pull requests, including those that committers may merge.
61-
6289
## When to Merge a Pull Request
6390

6491
We use the "Merge" button to merge requests into the repository. Before merging a pull request, verify that:
@@ -83,9 +110,7 @@ Otherwise, team members should observe a waiting period before merging a pull re
83110

84111
The waiting period ensures that other team members have a chance to review the pull request before it is merged.
85112

86-
If the pull request was created from a branch on the `eslint/eslint` repository (as opposed to a fork), delete the branch after merging the pull request. (GitHub will display a "Delete branch" button after the pull request is merged.)
87-
88-
**Note:** You should not merge your own pull request unless you're received feedback from at least one other team member.
113+
**Note:** You should not merge your pull request unless you receive the required approvals.
89114

90115
## When to Close a Pull Request
91116

0 commit comments

Comments
 (0)