-
Notifications
You must be signed in to change notification settings - Fork 13
[TRUNK-17696] Document multiple queues per repository #459
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
f418177
55ecd1f
ba31db0
3a337b1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -105,6 +105,31 @@ The `Running` state is the default state of your merge queue, and will be the no | |||||
|
|
||||||
| *** | ||||||
|
|
||||||
| ## Multiple queues per repository | ||||||
|
|
||||||
| You can create multiple merge queues within a single repository, with each queue targeting a different branch. This is useful for teams that maintain separate branches for different environments (e.g., `main`, `staging`, `release/v2`). | ||||||
|
|
||||||
| A branch can only be associated with one queue. Attempting to create a second queue against the same branch returns the error `A merge queue already exists for branch "<branch>" in this repository`. | ||||||
|
|
||||||
| Each queue operates independently. PRs submitted to one queue don't interact with PRs in another queue for the same repo, and every queue has its own settings, including merge method, required statuses, batching, and concurrency. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Minor:
Suggested change
|
||||||
|
|
||||||
| ### Creating additional queues | ||||||
|
|
||||||
| 1. Navigate to **Merge Queue** and click **New Queue** at the top right | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Button label inconsistency. The other Merge Queue docs refer to this button as Create New Queue (e.g.,
Suggested change
|
||||||
| 2. Select the same repository and enter a different target branch | ||||||
| 3. Click **Create Queue** | ||||||
|
|
||||||
| ### Navigating between queues | ||||||
|
|
||||||
| The Merge Queue dashboard groups queues by repository: | ||||||
|
|
||||||
| * **Single-queue repos**: The repository row is itself a link that goes directly to the queue. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Style nit: "is itself a link that goes directly to the queue" is a bit roundabout. Tightening it improves parallelism with the Multi-queue repos bullet below.
Suggested change
|
||||||
| * **Multi-queue repos**: The repository row expands inline to list each queue with its target branch label. Click any queue to open it. | ||||||
|
|
||||||
| In the Settings page, when a repository has more than one queue, a **Merge Queues** selector appears so you can switch between queues. The currently selected branch is shown next to the **Merge Queue Settings** heading. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Grammar nit: "In the Settings page" reads a bit awkwardly — the conventional preposition is "On the Settings page" (or just "In Settings"). Same suggestion lets you tighten the sentence too.
Suggested change
|
||||||
|
|
||||||
| *** | ||||||
|
|
||||||
| ## Merge Queue mode | ||||||
|
|
||||||
| > Merge Queues operate in one of two modes, **Single** (default) or [**Parallel**](../optimizations/parallel-queues/)**.** | ||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -87,9 +87,11 @@ Features like Optimistic Merging and Batching are validation and testing strateg | |||||
|
|
||||||
| <summary>Can I create multiple merge queues for a single repository?</summary> | ||||||
|
|
||||||
| Currently, Trunk Merge Queue supports one merge queue per repository. If this is critical for your use case, [talk to us](../../setup-and-administration/support.md) and we'll consider adding support for your use case. | ||||||
| Yes! You can create multiple queues within a single repository, with each queue targeting a different branch (e.g., `main`, `staging`, `release/v2`). Each queue operates independently with its own settings, required statuses, and merge behavior. A branch can only be associated with one queue. | ||||||
|
|
||||||
| For validating significant changes to your CI process or queue configuration without impacting your primary workflow, the recommended approach is to use a fork of your repository. You can set up and test a separate merge queue on the fork to make sure your changes work as expected before applying them to your primary repository. | ||||||
| To create an additional queue, click **New Queue** from the Merge Queue dashboard and select the same repository with a different target branch. See [Multiple queues per repository](../administration/advanced-settings.md#multiple-queues-per-repository) for details. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same button-label inconsistency I flagged in
Suggested change
|
||||||
|
|
||||||
| For validating significant changes to your CI process or queue configuration without impacting your primary workflow, you can use a fork of your repository. Set up and test a separate merge queue on the fork to make sure your changes work as expected before applying them to your primary repository. | ||||||
|
|
||||||
| </details> | ||||||
|
|
||||||
|
|
||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style nit: "create a second queue against the same branch" — "against" reads a bit oddly here. "for the same branch" or "targeting the same branch" matches the language used in the section's first paragraph ("each queue targeting a different branch").