Skip to content

Pull Request Merge Queue (private beta) #272

@github-product-roadmap

Description

@github-product-roadmap

Summary

Maintaining a green mainline development branch ensures developers always have a good starting point for bug fixes and new features and because in many workflows, releases are initiated from this branch. When this branch becomes broken, new development and downstream workflows (like release creation, integration testing, deployments, etc) can be disrupted. One of the simplest ways to avoid a broken branch today is by enabling the Require branches to be up-to-date branch protection setting. However, this forces developers to constantly update their pull request branch when another pull request gets merged, which triggers a new round of CI status checks. In a highly active branch, developers may be forced to repeat this process multiple times before they can merge, delaying the delivery of fixes and features.

Pull Request Merge Queue ensures pull requests are merged efficiently, without requiring developers to update their pull request whenever another change lands, all while ensuring the branch remains green.

Intended Outcome

Improve developer productivity and increase the velocity of changes landing in your busiest branches.

How will it work?

A developer can add their pull request to the merge queue when:

  1. Merge queue is enabled on a branch via a new branch protection setting, and...
  2. All merge requirements have been met (e.g. including required reviewer and status check)

image

Once in the queue, the pull request's changes will be:

  1. validated to ensure it passes all required checks before merging
  2. merged with the latest version of the branch along with any pull requests ahead of it in the queue

image

To join the waitlist for early access go to https://github.com/features/merge-queue/signup

Metadata

Metadata

Assignees

No one assigned

    Labels

    allProduct SKU: AllcloudAvailable on CloudpreviewFeature phase: PreviewshippedShipped

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions