Skip to content

Latest commit

 

History

History
63 lines (39 loc) · 2.79 KB

File metadata and controls

63 lines (39 loc) · 2.79 KB
description Common Trunk Merge Queue issues and how to fix them, including permission errors, stuck PRs, and missing status checks.

Troubleshooting

Troubleshooting common issues

{% hint style="info" %} Visit Trunk Support for additional assistance or to contact the support team. {% endhint %}

If your test PR doesn't merge automatically:

  • Check the status comments for the PR in the Trunk Dashboard to see what it's waiting for
  • Stuck in "Queued": Usually means branch protection rules haven't passed (missing required status checks or code review) or there are merge conflicts. If the status looks correct but the PR still won't enter the queue, try removing and re-adding by commenting /trunk merge again on the PR.
  • Fails when attempting to merge: Check that squash merges are enabled for your repository in GitHub settings (Settings > General > Allow squash merging). Trunk Merge Queue requires squash merges to be enabled.
  • "Permission denied" errors: Review the Branch Protection guide to make sure trunk-temp/* and trunk-merge/* branches aren't protected by wildcard rules like */*.
  • Status checks not running: Verify your CI is configured to run on draft PRs (or trunk-merge/** branches if using push-triggered mode). See the Branch Protection guide for details.

Troubleshooting common issues

"Permission denied on trunk-merge/* branch"

Cause: Branch protection rules are applying to Trunk's temporary branches.

Solution: Follow the "Exclude Trunk's Temporary Branches" section above to make sure trunk-temp/* and trunk-merge/* are not protected.

Pull request stuck as "Queued" in the queue

Cause: Required status checks are not completing or not configured correctly.

Solution:

  • Click on the pull request in the Trunk Dashboard to see which checks it's waiting for
  • Verify those checks are running in your CI provider
  • If using Push-triggered mode, make sure the check names in trunk.yaml exactly match your CI job names
Required status checks not running

If using Draft PR mode: Verify your CI workflows are triggered by pull requests (including draft pull requests).

If using Push-triggered mode:

  • Verify your CI workflows trigger on pushes to trunk-merge/** branches
  • Check that the workflows actually ran in your CI provider's interface
  • Make sure the trunk-io bot has permission to push to create these branches