Pull Request Merge Queue Public Beta Feedback #46757
Replies: 263 comments 376 replies
-
One thing I noticed immediately is that when clicking on "Merge when ready", it doesn't allow specifying the commit message/description. This can be alleviated to an extent by changing the default commit message to use the PR title/description, but that's not ideal. |
Beta Was this translation helpful? Give feedback.
-
@willsmythe Great with the queue reaching public beta! I've written some feedback on the Merge Queue a while back, when we tested it in the private beta. Didn't work for us (for the reasons mentioned in my feedback). Awesome if you'd like to take a quick look and respond: (in short, we want the queue to support a semi-linear history, something which e.g. AzureDevOps support, see https://devblogs.microsoft.com/devops/pull-requests-with-rebase/#semi-linear-merge) While I have your attention, I'd also love to hear your thoughts on these two:
(also related to PR workflow) |
Beta Was this translation helpful? Give feedback.
-
I'm trying out this feature in a sample repo, but the |
Beta Was this translation helpful? Give feedback.
-
I'm not quite sure why this is limited to organizations. That seems arbitrary. Individual users could use them. Dependabot notices come in waves for me so tossing them all into a merge queue would be awesome. |
Beta Was this translation helpful? Give feedback.
-
Is there a way to view historical merges in the merge queue? It would be useful to see which PRs were merged as part of the same group, for instance. |
Beta Was this translation helpful? Give feedback.
-
This isn't working for us at all. The checks are staying on pending for every PR even though they completed on them prior to entering the Queue and they are added to our workflow file as:
|
Beta Was this translation helpful? Give feedback.
-
Super excited to see this in public beta! Over on PrairieLearn/PrairieLearn#7131, after adding a PR to the merge queue, removing it, then adding it again, I see a weird commit: If I click on the commit, there's a message that says "This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository." I've never seen this before, so I can only assume that this is something to do with merge queues. I'm also facing the same issue others are reporting where the checks never run. |
Beta Was this translation helpful? Give feedback.
-
I'm trying to figure out the behavior w.r.t. to the "Merge method" setting. My goal is to have each PR result in a single revision to the base branch, so I currently have PRs set to squash. The base branch has a protection to enforce linear history. What "Merge method" setting for merge queues will ensure that each PR in the queue still ends up as exactly one revision? I am concerned that e.g. "Squash and merge" here implies squashing all of the PRs in the queue into a single revision. |
Beta Was this translation helpful? Give feedback.
-
I'm using a workflow to validate that every PR title matches conventions (using https://github.com/amannn/action-semantic-pull-request). The status check this action adds is configured as required for the target branch. Having this setup causes the merge queue to stall, because the workflow never runs and the check is never set. That's because the workflow is configured to run only on What is the recommendation for having validation against the PR itself? |
Beta Was this translation helpful? Give feedback.
-
If I try to set the "Status check timeout" to anything more than 127, it returns a 500 error. 7-bit setting? I don't see this limit referenced in the documentation anywhere. |
Beta Was this translation helpful? Give feedback.
-
When a PR is in a merge queue, one of the options in the
I have no idea what it means to "jump the queue". Does it mean it merges immediately? Does it mean it is removed from the queue and goes back to an unmerged state? Something else? I also checked what I thought was the documentation on merge queues and didn't see anything related to that. |
Beta Was this translation helpful? Give feedback.
-
If I click "Merge when ready" on a PR, it goes into a merge queue. But if I have a Dependabot PR and comment If this is expected behavior (like it's waiting until the queue is cleared or something), that is not being communicated. I would hope that either GitHub or Dependabot would explain when it will be added. If it's a bug instead, I hope it will be fixed. |
Beta Was this translation helpful? Give feedback.
-
merge queues are a great idea until we hit limitations in the required workflow logic. Really there should be a „require all triggered workflows to succeed“ before merging. See here: https://github.com/orgs/community/discussions/13690 otherwise we still need manual approval for each PR as we need to wait for optional workflows to complete. |
Beta Was this translation helpful? Give feedback.
This comment has been hidden.
This comment has been hidden.
-
Our projects integrate with Jetbrains TeamCity. The Pull Requests build feature (a.k.a. pre-commit builds) doesn't work with this at all. When a PR goes into the merge queue, the new builds with the latest changes are never triggered. Unfortunately, that's going to be a dealbreaker for us for adopting merge queues. I hope that GitHub will collaborate with Jetbrains and other CI toolchain providers so that this feature can be supported. |
Beta Was this translation helpful? Give feedback.
-
Is there a workaround for this by using Jenkins instead of Github action? |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Is this still the place to provide feedback on merge queues? If not, where should I go? |
Beta Was this translation helpful? Give feedback.
-
is it still only available in GraphQL and not available in Rest API? |
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
Managing this for our team, and having more options around merge queue workflows would be great. |
Beta Was this translation helpful? Give feedback.
-
A fourth merge option: "Rebase, squash and merge" would be nice to avoid PR re-approvals on a busy mono-repo. |
Beta Was this translation helpful? Give feedback.
-
The most significant limitation of this feature for my team is the lack of visibility into which checks are running for commits in the merge queue. The merge queue UI only shows required checks, but we want visibility into all checks so that we can monitor progress and view optional checks. This is a significant departure from the PR UI, which shows all checks that are running on a given PR. Compare the current PR UI: With the merge queue UI: Ideally we'd show similar information in both contexts; it's just as useful to review pending checks in the merge queue UI as it is in the PR UI. |
Beta Was this translation helpful? Give feedback.
-
Generally I love this feature! I've moved some repos to new, tiny orgs just to be able to use merge queues. ;) I have one minor issue: the automatic commit created by GH has a description like this:
The problem with this is that in larger developments, it can be part of the usual process to move commits between repositories. For instance, in Rust, this directory of the main Rust repo also exists as its own repo. This isn't a submodule, as those are quite painful, it is using a different sync technique. The details don't matter. What matters is that we are using a merge queue in the subrepo, so commits like the above are being created there, and then the sync moves that commit into the main Rust repo. The reason this is a problem is that the So, it would be great if the bot that creates these commits could reference PRs in a way that still makes sense when the commit is moved to a different repository. |
Beta Was this translation helpful? Give feedback.
-
I'm evaluating your Merge Queue feature against "dedicated" offerings like mergequeue.com - and I'm hitting a bit of a show-stopper for us. Our repo is "bursty" - sometimes we have several PRs in the queue, but oftentimes it's just the one, normally already rebased against With our usage pattern, it's (much) cheaper for me to pay for mergequeue.com than to use your offering - because mergequeue.com doesn't do that redundant re-check. For Merge Queue to work productively and cost-effectively for us, I'd want the head of the queue to merge immediately if it had already passed all required checks while being fully up-to-date with Separately, not a show-stopper, but also important to us: with mergequeue.com we use two different labels ( On the positive side: I found your Merge Queue feature to be easier to set up than mergequeue.com. 🎉 |
Beta Was this translation helpful? Give feedback.
-
https://docs.github.com/en/graphql/reference/mutations#enablepullrequestautomerge plz check this. |
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
"New Merge Experience (beta)" breaks when trying to remove a queued PR from the queue. Clicking that button on the PR gives a "Not Found" error. |
Beta Was this translation helpful? Give feedback.
-
Finding it REALLY difficult to get to the merge queue from anywhere in the GitHub app. It would be awesome if there was a button somewhere in the interface that said "Merge Queue" that you could click on. Ideally, this would be under the Code tab, or Actions tab. I could have sworn this was available somewhere, but now I can't find it. If it does exist, it feels very hidden and needs to be brought up in the hierarchy. Thanks! 😄 |
Beta Was this translation helpful? Give feedback.
-
Problem The longer status check spawns multiple matrix jobs. Whenever the mergeability check fails, GitHub deletes the temporary merge ref created. Since the matrix jobs spawned by the second longer check are configured to check out the same merge ref that the first check failed on, when they finally get scheduled to run, they fail on actions/checkout. The error seen is of the form We believe GitHub does not wait for all required status checks to conclude before deleting the temporary merge ref created. This results in a race condition between multiple status checks triggered for the same merge group |
Beta Was this translation helpful? Give feedback.
-
We want to hear from you on how we can improve pull request merge queue, now in public beta for repos on GitHub Enterprise Cloud and open source organizations! 🎉 See the changelog for more details.
Let us know how we can make the feature work better for you!
👉 Important: configuring your CI
Before enabling merge queue for a branch, make sure your CI is configured to build the temporary branches created by the queue. This is the most common problem we're seeing.
For GitHub Actions, add
merge_group
as a trigger (underon
) to ensure this workflow is run for queue-created branchesFor other CI services, you may need to update your branch filters or triggers to build branches starting with the prefix
gh-readonly-queue/{base_branch}/
See the docs for more details.
🐛 Known issues
Some of the more common or noteworthy issues we are tracking:
Actions workflows not triggering on(fixed)merge_group
@depdendabot merge
command does not working (Dependabot team is evaluating)🚀 Top feature requests
Beta Was this translation helpful? Give feedback.
All reactions