Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk4 min

GitHub Merge Queue, Explained: Why Green PRs Fail After Queueing

GitHub’s merge queue tests a combined revision, not just the pull request’s earlier green commit. Learn why checks go missing or fail and how to debug the queue.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A pull request can pass its own checks and still fail in GitHub’s merge queue because the queue tests a different revision: the target branch combined with that pull request and any earlier queued changes. The green result on the original pull-request commit does not prove that this combined version will pass.

Why can a green pull request fail in the merge queue?

A green check applies to the specific commit that was tested. When a pull request enters a merge queue, GitHub creates a temporary merge group using the latest target branch and the changes from pull requests ahead of it, along with the current pull request. It requests checks on that combined state and merges it only after required checks pass. GitHub’s merge queue documentation describes this process.

As an Amazon Associate I earn from qualifying purchases.

That composition can expose a test failure or conflict that was absent from the pull request’s earlier, standalone revision. Queue order matters: a later pull request can be tested on a group containing earlier queued changes. If an earlier pull request is removed, GitHub can rebuild the later group without it. Moving an entry to the top can also cause in-progress groups to be rebuilt.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

This is not evidence of a particular failure rate. It is the consequence of validating a different commit composition.

Why is GitHub waiting for status checks to be reported?

The queue needs required checks to report a result for the merge group. A workflow that listens only for pull_request does not automatically run for the separate merge_group event. If the workflow never runs for the group, GitHub may wait for a required result that will never arrive.

GitHub Actions

For workflows that produce required checks, add merge_group alongside the relevant pull-request trigger:

on:
  pull_request:
  merge_group:

GitHub’s event documentation explains that merge_group is distinct from pull_request and push. The event is relevant to checks required by the target branch’s protection rules.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Third-party CI

Configure an external CI provider to react to pushes to temporary queue branches whose names begin gh-readonly-queue/{base_branch}. Do not match only the pull request’s commit SHA: GitHub says the temporary queue branch has a different SHA from the pull-request SHA. See GitHub’s guidance for CI providers and merge queues.

How to diagnose a queue failure

Work through the queue-specific result rather than relying on the pull request’s earlier green checks.

  1. Inspect the required check on the queued group. Determine whether it is missing, pending, or failed, and confirm that it is the check required by the target branch’s protection or ruleset. The queue waits for required checks to report.
  2. Verify the trigger. In GitHub Actions, check that the workflow includes merge_group. For external CI, confirm that queue temporary branches are included in its branch matching rules.
  3. Check filters and conditions. A workflow skipped by path or branch filtering can leave an associated required check pending. Also check job-level conditions. Required check names should be unambiguous across workflows; if branch protection specifies an app as the expected source, make sure the result comes from that source. See GitHub’s required status checks guidance.
  4. Confirm the revision being checked. Required checks must succeed on the latest commit SHA. A passing result on an earlier revision does not satisfy a requirement for a different merge-group commit.
  5. Inspect the combined changes and conflicts. Compare the queue’s merge-group revision with the pull request’s standalone revision and consider newer target-branch changes and earlier queue entries. Those differences can produce a failure or conflict that did not occur in the original pull-request checks.
  6. Read the pull request timeline. GitHub identifies the reason when it removes a pull request from the queue. Check whether a required result timed out, a check failed, a user requested removal, or a branch-protection failure could not be resolved automatically. Repository queue settings may define a timeout for waiting on checks.

What changes when a pull request enters the queue?

GitHub describes the queue as first in, first out. When an entry is ready to be tested, its merge group includes the current target branch and changes from entries ahead of it. A later entry can therefore be checked against a combination of changes rather than against the target branch alone. If an earlier entry fails and leaves the queue, GitHub can recreate later groups without that change.

Contributors can select Merge when ready in GitHub when the repository requires a queue. The gh pr merge command can add a pull request to the queue when required checks pass and enable auto-merge if they have not passed yet. GitHub’s pull request merge instructions state that queue removal is done on GitHub.com.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Which queue settings affect checks and throughput?

Administrators can require a merge queue through branch protection. GitHub documents settings for merge method (merge, rebase, or squash), maximum concurrent merge-group builds, whether groups can form from non-failing pull requests alone, a status-check timeout, and minimum and maximum merge limits with a wait period. The documented ranges for maximum concurrent builds and merge limits are 1 to 100; these are configuration limits, not performance guarantees. See GitHub’s repository rules REST API documentation for the applicable rule settings.

The API also documents two grouping strategies:

  • ALLGREEN: each pull request’s merge commit created by the queue must pass required checks.
  • HEADGREEN: only the head commit containing the combined changes must pass.

Verify which strategy applies to the repository’s ruleset before diagnosing which commits are expected to be green. The settings involve practical tradeoffs: requiring checks for each queued pull request versus only the combined group head; allowing more concurrent CI builds versus managing merge throughput; setting a longer timeout for slow checks versus waiting longer for a missing result; and choosing group limits in light of CI or deployment costs. The documented controls do not establish one best configuration for every repository.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.