tl;dr: You can ask the queue to land pull requests by adding the
commit-queue label to them.
Commit Queue is a feature for the project which simplifies the
landing process by automating it via GitHub Actions. With it, collaborators can
queue pull requests for landing by adding the commit-queue label to a PR. The
selector checks readiness with @node-core/utils. If the pull request is only
blocked on a deferrable condition, currently wait time, the queue leaves the
label in place and retries later. Other failures continue to the existing
landing and failure-reporting path.
To make the Commit Queue squash all the commits of a pull request into the
first one, add the commit-queue-squash label.
To make the Commit Queue land a pull request containing several commits, add the
commit-queue-rebase label. When using this option, make sure
that all commits are self-contained, meaning every commit should pass all tests.
The implementation is in commit-queue.yml and commit-queue.sh.
These are the currently known limitations of the commit queue:
- All commits in a pull request must either be following commit message
guidelines or be a valid
fixup!commit that will be correctly handled by the--autosquashoption. - A CI must have run and succeeded since the last change on the PR.
- A collaborator must have approved the PR since the last change.
- Only Jenkins CI and GitHub Actions are checked (V8 CI and CITGM are ignored).
- The PR must target the
mainbranch (PRs opened against other branches, such as backport PRs, are ignored).