diff --git a/merge-queue/administration/metrics.md b/merge-queue/administration/metrics.md index bd462007..94611ed5 100644 --- a/merge-queue/administration/metrics.md +++ b/merge-queue/administration/metrics.md @@ -85,7 +85,7 @@ Conclusion counts are an important signal to potential bottlenecks or underlying Conclusions are tagged with a reason to give further insights into how merges pass or fail in the queue. You can show or hide conclusions of a particular reason by using the **+ Add** button. -
CategoryReasonDescription
✅ PassMerged by TrunkPassed all tests in Merge Queue and merged by Trunk
✅ PassMerged manuallyUser manually merged the PR in Git
❌ FailureTest run timeoutUser-defined timeout for tests exceeded
❌ FailureFailed TestsRequired test failed while testing the PR in the merge queue
❌ FailureMerge conflictA (git) merge conflict encountered
❌ FailureConfig parsing failureMalformed trunk.yaml that couldn't be parsed
❌ FailureConfig bad versionInvalid version field in trunk.yaml
❌ FailureConfig bad required statusesFailed to parse required statuses in trunk.yaml
❌ FailureNo required statusesNo source for required tests was found in trunk.yaml or branch protection settings
❌ FailureGitHub API FailedGitHub returned an error to us that could not be resolved while processing the PR
❌ FailurePR updated at merge timePR updated as Trunk was attempting to merge it
🚫 CancelCanceled by userPR explicitly canceled by user
🚫 CancelPR closedPR closed (not merged)
🚫 CancelPR pushed toNew commits pushed to the PR branch while in the merge queue
🚫 CancelPR draftPR was converted to a draft, which cannot be merged
🚫 CancelPR base branch changedBase branch of PR in the merge queue changed
🚫 CancelAdmin requestedTrunk employee canceled PR during a support session (extreme cases)
🚫 CancelA PR in the stack had its base branch changedA member of the PR stack had its base branch changed while in the queue (stacked PRs only)
🚫 CancelA PR in a PR stack was closedA member of the PR stack was closed while in the queue (stacked PRs only)
🚫 CancelPR was merged as part of a different stackThe PR was already merged through a different stack (stacked PRs only)
🚫 CancelPart of this PR's stack was pushed toNew commits were pushed to a PR in the stack while in the queue (stacked PRs only)
+
CategoryReasonDescription
✅ PassMerged by TrunkPassed all tests in Merge Queue and merged by Trunk
✅ PassMerged manuallyUser manually merged the PR in Git
❌ FailureTest run timeoutUser-defined timeout for tests exceeded
❌ FailureFailed TestsRequired test failed while testing the PR in the merge queue
❌ FailureMerge conflictA (git) merge conflict encountered
❌ FailureConfig parsing failureMalformed trunk.yaml that couldn't be parsed
❌ FailureConfig bad versionInvalid version field in trunk.yaml
❌ FailureConfig bad required statusesFailed to parse required statuses in trunk.yaml
❌ FailureNo required statusesNo source for required tests was found in trunk.yaml or branch protection settings
❌ FailureGitHub API FailedGitHub returned an error to us that could not be resolved while processing the PR
❌ FailurePR updated at merge timePR updated as Trunk was attempting to merge it
🚫 CancelCanceled by userPR explicitly canceled by user
🚫 CancelPR closedPR closed (not merged)
🚫 CancelPR pushed toNew commits pushed to the PR branch while in the merge queue
🚫 CancelPR draftPR was converted to a draft, which cannot be merged
🚫 CancelPR base branch changedBase branch of PR in the merge queue changed
🚫 CancelAdmin requestedTrunk employee canceled PR during a support session (extreme cases)
### Time in queue diff --git a/merge-queue/chrome-extension.md b/merge-queue/chrome-extension.md index 4cef9426..db74e8a1 100644 --- a/merge-queue/chrome-extension.md +++ b/merge-queue/chrome-extension.md @@ -52,26 +52,6 @@ Once a PR is in the queue, the extension panel updates in real time as it moves * **Tests Passed** - waiting for upstream PRs before merging * **Merged**, **Failed** - terminal states -### Stacked pull requests - -{% hint style="info" %} -Stacked PR queue support requires the [Trunk Sudo GitHub App](../setup-and-administration/trunk-sudo-app.md) and the `/trunk stack` workflow. Stacks submitted one PR at a time with `/trunk merge` are tracked individually, not as a group. -{% endhint %} - -When a stack is queued with [`/trunk stack`](using-the-queue/stacked-pull-requests.md#merge-the-stack-as-one-unit), the extension shows a stack-aware view on every member PR page. - -**What the panel shows:** - -* **Stack path** — the full list of PRs in the stack from tip to base, so you can see where your PR sits within the group. -* **Stacked PR chip** — a link to the combined test PR Trunk creates for the stack (labeled **Stacked PR #N**). Click it to open the stacked PR on GitHub and inspect its CI status. - -**Actions:** - -* **Add stack to queue** — enqueues the entire stack as one unit. Clicking it on any member PR page submits the same stack. -* **Remove** — removes the whole stack from the queue. - -Re-enqueueing after a remove works the same way: click **Add stack to queue** on any member PR page to resubmit the stack. - ### Rolling the Extension out to an entire Org Chrome admins can install the Trunk extension for everyone in a Google Workspace organization using the [Chrome Web Store ID](https://chromewebstore.google.com/detail/liggeliamkammmieidmmfmmdnjilabgn) `liggeliamkammmieidmmfmmdnjilabgn`. See Google's [Automatically install apps and extensions](https://support.google.com/chrome/a/answer/6306504?hl=en) guide for the admin console steps. diff --git a/merge-queue/getting-started/configure-branch-protection.md b/merge-queue/getting-started/configure-branch-protection.md index 26eed2a2..a01d76a5 100644 --- a/merge-queue/getting-started/configure-branch-protection.md +++ b/merge-queue/getting-started/configure-branch-protection.md @@ -114,7 +114,7 @@ This ruleset encodes the rules that determine when a PR is ready to merge. Trunk 2. Target the same protected branch (e.g., `main`) with the same single-include targeting. 3. Under **Rules → Branch rules**, add the rules that gate mergeability — typically **Require a pull request before merging** and **Require status checks to pass**. Add others (signed commits, linear history, etc.) as your team requires. 4. **Do not** add the Trunk GitHub App (`trunk-io`) to the bypass list. The queue relies on GitHub reporting the PR as not-yet-ready until these rules pass. -5. Optionally, add **Trunk Sudo** to the bypass list as **Exempt** if you use [Force merge](../using-the-queue/force-merge.md) or stacked PRs. See the [Trunk Sudo page](../../setup-and-administration/trunk-sudo-app.md) for the full guidance. +5. Optionally, add **Trunk Sudo** to the bypass list as **Exempt** if you use [Force merge](../using-the-queue/force-merge.md). See the [Trunk Sudo page](../../setup-and-administration/trunk-sudo-app.md) for the full guidance. 6. Save.
GitHub ruleset with Require a pull request before merging and Require status checks to pass enabled, Trunk.io not on the bypass list
Ruleset #2: Trunk is not on the bypass list, so the queue respects these requirements when admitting PRs.
@@ -160,7 +160,7 @@ Before submitting your first PR to the queue, confirm: * [ ] Ruleset #2 targets only your protected branch and does **not** bypass Trunk. * [ ] Every other Branch ruleset visible at the organization level and on this repository either does not match `trunk-temp/**/*`/`trunk-merge/**/*`, or explicitly excludes both patterns. * [ ] (If using [Trunk Sudo](../../setup-and-administration/trunk-sudo-app.md)) Trunk Sudo is on Ruleset #1's bypass list as **Exempt**. -* [ ] (If using [Trunk Sudo](../../setup-and-administration/trunk-sudo-app.md) **and** Force merge or stacked PRs) Trunk Sudo is also on Ruleset #2's bypass list as **Exempt**. +* [ ] (If using [Trunk Sudo](../../setup-and-administration/trunk-sudo-app.md) **and** Force merge) Trunk Sudo is also on Ruleset #2's bypass list as **Exempt**. #### Migrating from Classic rules to Rulesets diff --git a/merge-queue/using-the-queue/README.md b/merge-queue/using-the-queue/README.md index 3e6982be..e1191eac 100644 --- a/merge-queue/using-the-queue/README.md +++ b/merge-queue/using-the-queue/README.md @@ -11,9 +11,6 @@ These pages cover the daily operations that developers perform when working with [**Submit and cancel pull requests**](reference.md)\ How to add PRs to the queue via GitHub comments, CLI, or UI, and remove them when needed. -[**Work with stacked pull requests**](stacked-pull-requests.md)\ -Manage dependent PRs that build on each other. - ### Monitor and troubleshoot [**Monitor queue status**](monitor-queue-status.md)\ diff --git a/merge-queue/using-the-queue/reference.md b/merge-queue/using-the-queue/reference.md index e81c9a51..54d9d7bc 100644 --- a/merge-queue/using-the-queue/reference.md +++ b/merge-queue/using-the-queue/reference.md @@ -20,7 +20,7 @@ trunk login trunk merge ``` -Admins can also use [`/trunk merge --force`](force-merge.md) to push a PR through the queue when branch protection isn't satisfied. To submit a chain of dependent PRs as a single unit, see [`/trunk stack`](stacked-pull-requests.md#merge-the-stack-as-one-unit). +Admins can also use [`/trunk merge --force`](force-merge.md) to push a PR through the queue when branch protection isn't satisfied. We offer similar commands for cancellation. diff --git a/setup-and-administration/trunk-sudo-app.md b/setup-and-administration/trunk-sudo-app.md index 00424eda..1575c946 100644 --- a/setup-and-administration/trunk-sudo-app.md +++ b/setup-and-administration/trunk-sudo-app.md @@ -9,7 +9,7 @@ description: >- Trunk Sudo is a second Trunk GitHub App, separate from the [main Trunk GitHub App](github-app-permissions.md). Its only purpose is to programmatically merge pull requests while bypassing GitHub branch protections, on behalf of Trunk features that need that capability. -Trunk Sudo is a shared prerequisite for bypass-dependent features. Today it powers [Force merge](../merge-queue/using-the-queue/force-merge.md) and [stacked pull requests with `/trunk stack`](../merge-queue/using-the-queue/stacked-pull-requests.md#merge-the-stack-as-one-unit). +Trunk Sudo is a prerequisite for bypass-dependent features. Today the only such feature is [Force merge](../merge-queue/using-the-queue/force-merge.md). {% hint style="info" %} **Trunk Sudo is optional.** You only need to install it if you plan to use a feature that requires it. If you don't use any bypass-dependent features, you can skip this setup. @@ -116,11 +116,6 @@ This permission includes access to update GitHub Action workflow files. Required so Trunk Sudo can merge PRs that modify files under `.github/`. GitHub blocks any merge that touches workflow files unless the merging actor has this permission. -### Features that use Trunk Sudo - -* [Force merge](../merge-queue/using-the-queue/force-merge.md) — admins push a PR through Merge Queue even when branch protection isn't satisfied. -* [Stacked pull requests with `/trunk stack`](../merge-queue/using-the-queue/stacked-pull-requests.md#merge-the-stack-as-one-unit) — combine a chain of dependent PRs into a single stacked PR that moves through the merge queue as one unit. - ### Next steps → [**Force merge**](../merge-queue/using-the-queue/force-merge.md) — use the Trunk Sudo app to merge PRs through the queue that don't satisfy branch protection. diff --git a/summary.md b/summary.md index 494767bf..46cdbf93 100644 --- a/summary.md +++ b/summary.md @@ -29,7 +29,6 @@ * [Submit and cancel pull requests](merge-queue/using-the-queue/reference.md) * [Monitor queue status](merge-queue/using-the-queue/monitor-queue-status.md) * [Handle failed pull requests](merge-queue/using-the-queue/handle-failed-pull-requests.md) - * [Work with stacked pull requests](merge-queue/using-the-queue/stacked-pull-requests.md) * [Emergency pull requests](merge-queue/using-the-queue/emergency-pull-requests.md) * [Force merge](merge-queue/using-the-queue/force-merge.md) * [Integration for Slack](merge-queue/integration-for-slack.md)