-
-
Notifications
You must be signed in to change notification settings - Fork 35.4k
doc: drop minimum waiting time as hard guideline #33879
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -11,6 +11,7 @@ | |||||||||
| * [Code reviews](#code-reviews) | ||||||||||
| * [Consensus seeking](#consensus-seeking) | ||||||||||
| * [Waiting for approvals](#waiting-for-approvals) | ||||||||||
| * [Reverting PRs shortly after landing](#reverting-prs-shortly-after-landing) | ||||||||||
| * [Testing and CI](#testing-and-ci) | ||||||||||
| * [Useful CI jobs](#useful-ci-jobs) | ||||||||||
| * [Starting a CI job](#starting-a-ci-job) | ||||||||||
|
|
@@ -95,9 +96,8 @@ request must pass code review and CI before landing into the codebase. | |||||||||
|
|
||||||||||
| ### Code reviews | ||||||||||
|
|
||||||||||
| 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 seven days. | ||||||||||
| At least one Collaborator must approve a pull request before the pull request | ||||||||||
| lands. Waiting for a second approval is recommended but not mandatory. | ||||||||||
|
|
||||||||||
| Approving a pull request indicates that the Collaborator accepts responsibility | ||||||||||
| for the change. | ||||||||||
|
|
@@ -150,30 +150,28 @@ adding the `tsc-agenda` label to the issue. | |||||||||
|
|
||||||||||
| ### Waiting for approvals | ||||||||||
|
|
||||||||||
| Before landing pull requests, allow 48 hours for input from other Collaborators. | ||||||||||
| Certain types of pull requests can be fast-tracked and can land after a shorter | ||||||||||
| delay. For example: | ||||||||||
| Before landing pull requests, allow for input from other Collaborators. | ||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Collaborators that are in different timezones or away on local bank holidays... that's why the 48 hour rule exists. This "one approval rule" is basically a 1-2 for collaborators from the same timezone. |
||||||||||
| If you expect that a pull request might raise objections, | ||||||||||
| wait longer before landing. You can also add the `wait-for-feedback` label | ||||||||||
| to pull requests; in that case, it is expected that the pull request will not | ||||||||||
| be merged until at least 48 hours after it has been opened, in order to allow | ||||||||||
| for everybody to comment on it. | ||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe we could auto-suggest the 48 hour rule on certain critical systems? For example, if a PR changes openssl or low-level parts of http/https/http2, or if it changes something marked stable and targets an LTS branch, it would automatically get the
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. LTS branches are managed by the Release WG. This PR shouldn't affect them. |
||||||||||
|
|
||||||||||
| * Focused changes that affect only documentation and/or the test suite: | ||||||||||
| * `code-and-learn` tasks often fall into this category. | ||||||||||
| * `good-first-issue` pull requests might also be suitable. | ||||||||||
| * Changes that fix regressions: | ||||||||||
| * Regressions that break the workflow (red CI or broken compilation). | ||||||||||
| * Regressions that happen right before a release, or reported soon after. | ||||||||||
| For pull requests that are lacking an approval from a member of the relevant | ||||||||||
| team (e.g. @nodejs/http in the case of HTTP changes), it is recommended to keep | ||||||||||
|
jasnell marked this conversation as resolved.
Outdated
|
||||||||||
| them open for a longer period of time, e.g. several days. | ||||||||||
|
|
||||||||||
| To propose fast-tracking a pull request, apply the `fast-track` label. Then add | ||||||||||
| a comment that Collaborators can upvote. | ||||||||||
| ### Reverting PRs shortly after landing | ||||||||||
|
|
||||||||||
| If someone disagrees with the fast-tracking request, remove the label. Do not | ||||||||||
| fast-track the pull request in that case. | ||||||||||
| If it has been less than 48 hours after a pull request has been opened and it | ||||||||||
| has already been landed, and you object to it in a way that cannot be addressed | ||||||||||
| through a new pull request which addresses your concerns, you can open a | ||||||||||
| pull request containing a revert and merge it without waiting for approvals or | ||||||||||
| CI runs. | ||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I expect this revert rule will cause no end of bad blood and internet drama...
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I agree that revert without wait/approval may result in issues.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @nodejs/releasers we'll need to keep an eye on this and adapt release tooling if reverts become more present
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agreed. Based on what I've seen in the Release WG mentoring sessions where we've been walked through the triage process of whether something is ready to land on LTS release branches it is already difficult to ascertain links between a PR and any subsequent reverts/fixups.
Comment on lines
169
to
170
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add link to "Reverting a commit" so folks know what are the right steps to revert a commit.
Suggested change
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should also make sure ncu can recognize revert commits and consider those as valid (otherwise we won't be able to use the commit queue to land). |
||||||||||
|
|
||||||||||
| The pull request can be fast-tracked if two Collaborators approve the | ||||||||||
| fast-tracking request. To land, the pull request itself still needs two | ||||||||||
| Collaborator approvals and a passing CI. | ||||||||||
|
|
||||||||||
| Collaborators can request fast-tracking of pull requests they did not author. | ||||||||||
| In that case only, the request itself is also one fast-track approval. Upvote | ||||||||||
| the comment anyway to avoid any doubt. | ||||||||||
| If it has been more than 48 hours since the original pull request was opened, | ||||||||||
| you can still open a revert pull request, but should follow the standard rules | ||||||||||
| for merging them, i.e. wait for approvals, no objections, and a passing CI run. | ||||||||||
|
|
||||||||||
| ### Testing and CI | ||||||||||
|
|
||||||||||
|
|
||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -19,6 +19,8 @@ More than one subsystem may be valid for any particular issue or pull request. | |
| * `discuss`: Things that need larger discussion | ||
| * `feature request`: Any issue that requests a new feature | ||
| * `good first issue`: Issues suitable for newcomers to fix | ||
| * `wait-for-feedback` - Keep this pull request open at least 48 hours before | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The labels are in alphabetical/lexical order right now. I'd prefer we keep it that way and move this one to the end of this specific list (after |
||
| landing, to give others a chance to weigh in. | ||
| * `meta`: Governance, policies, procedures, etc. | ||
| * `tsc-agenda`: Open issues and pull requests with this label will be added to | ||
| the Technical Steering Committee meeting agenda | ||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -130,10 +130,15 @@ onboarding session. | |||||
| reviewers. If you are leaving comments about issues that could be identified | ||||||
| by tools but are not, consider implementing the necessary tooling. | ||||||
| * Minimum wait for comments time | ||||||
| * There is a minimum waiting time which we try to respect for non-trivial | ||||||
| changes so that people who may have important input in such a distributed | ||||||
| project are able to respond. | ||||||
| * For non-trivial changes, leave the pull request open for at least 48 hours. | ||||||
| * Node.js is a distributed project, and it is important that other people | ||||||
| have a chance to weigh in on changes that affect them. We do not enforce | ||||||
| a fixed waiting time, and pull requests that can generally be expected | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| not to be contentious can be merged as soon as they have approvals and a | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| passing CI run. | ||||||
| * If in doubt, leave the pull request open for at least 48 hours. | ||||||
| * If you object to a pull request that has already been merged, open a revert | ||||||
| PR. If it has been less then 48 hours since the original PR has been opened, | ||||||
| you can merge the revert PR immediately. | ||||||
| * If a pull request is abandoned, check if they'd mind if you took it over | ||||||
| (especially if it just has nits left). | ||||||
| * Approving a change | ||||||
|
|
@@ -205,8 +210,7 @@ needs to be pointed out separately during the onboarding. | |||||
| -1` | ||||||
| * Collaborators are in alphabetical order by GitHub username. | ||||||
| * Optionally, include your personal pronouns. | ||||||
| * Label your pull request with the `doc`, `notable-change`, and `fast-track` | ||||||
| labels. | ||||||
| * Label your pull request with the `doc`, `notable-change` labels. | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| * Run CI on the PR. Use the `node-test-pull-request` CI task. | ||||||
| * After two Collaborator approvals for the change and two Collaborator approvals | ||||||
| for fast-tracking, land the PR. | ||||||
|
|
||||||
Uh oh!
There was an error while loading. Please reload this page.