Skip to content

Minimum waiting time for PRs with recently pushed commits #56170

Open
@LiviaMedeiros

Description

@LiviaMedeiros

Problem

There are guidelines regarding waiting time in PRs:

### Respect the minimum wait time for comments
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, pull requests must be left open for at least 48 hours.
Sometimes changes take far longer to review, or need more specialized review
from subject-matter experts. When in doubt, do not rush.
Trivial changes, typically limited to small formatting changes or fixes to
documentation, may be landed within the minimum 48 hour window.

### Waiting for approvals
Before landing pull requests, allow 48 hours for input from other collaborators.

### Step 10: Landing
In order to land, a pull request needs to be reviewed and [approved][] by
at least two Node.js Collaborators (one collaborator approval is enough if the
pull request has been open for more than 7 days) and pass a
[CI (Continuous Integration) test run][]. After that, as long as there are no
objections from other contributors, the pull request can be merged. If you find
your pull request waiting longer than you expect, see the
[notes about the waiting time](#waiting-until-the-pull-request-gets-landed).

However, the time is always calculated since PR creation and not since last pushed commits (even for significant changes and/or force-pushes).
This effectively creates a situation where a single collaborator approval (and a single green CI for needs-ci PRs that need a full CI run. PRs) is enough to immediately merge PR right after push - both from guidelines's and NCU/ commit-queue Add this label to land a pull request using GitHub Actions. 's points of view - as long as it was initially opened 7+ days ago.

Somewhat related: nodejs/node-core-utils#677

Possible solutions

  • Make it strict, always counting the 48/168 hours from last push rather than initial open date.
  • Make it semi-strict, e.g. counting ~24 hours from last push if PR passes open date limit.
  • Make doc-only addition to guideline, asking to wait ~24 hours if anything non-trivial was pushed.
  • Keep it as is and rely on common sense.

Doc-only option looks best to me since it won't slow down landing trivial fixups, but it's also always possible to fast-track them or land manually. Maybe there are different opinions on this.

Just to clarify, this issue is not a security concern nor a loophole for potential bad actors etc. The minimum waiting time is supposed to allow anyone to provide their input (including suggestions and explicit blocks), and not having it for subsequent commits sometimes nullifies this ability.

Metadata

Metadata

Assignees

No one assigned

    Labels

    metaIssues and PRs related to the general management of the project.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions