Pull Request Merge Queue Public Beta Feedback #46757
Replies: 245 comments 351 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.
This comment was marked as spam.
This comment was marked as spam.
-
Hi, Is there way to set commit log when squash commits similar to regular merge |
Beta Was this translation helpful? Give feedback.
-
There should be a way to bypass checks and add a PR to the merge queue immediately without waiting for status checks. Without this, the merge queue seems essentially useless. I have to wait 6+ hours for the status checks to finish on the PR, and then wait another 6+ hours for the merge queue to succeed?! Furthermore, it cannot be used to stack dependent PRs, because the later ones won't pass the CI off the merge queue. |
Beta Was this translation helpful? Give feedback.
-
Does anyone know why when using a self-hosted CI, I'm getting emails like this:
I get this email even when a PR is successfully merged via the queue. If you click the results link it says:
I didn't define any jobs myself. I just followed the documentation here which suggests a config file like:
If anyone could tell me how to silence that email, I'd be most grateful. Should I be defining a job then? P.S.: Our CI is just monitoring "push" and "pull_request" events via an org-level event hook. It does a "fake build" that always succeeds for "pull_request" events, and a "real build" for "push" events to a merge queue branch. The fake build is needed because we don't want to do builds when the PR is raised. Currently GH appears to only allow the same set of required checks for both. Reading other threads here seems to confirm this. P.S. again: The github docs tell you that if you are using an external CI, then it should build the branch the merege queue makes, but it neglects to tell you that github also requires a successful build just to get the PR into a merge queue. It took me ages to figure this out. |
Beta Was this translation helpful? Give feedback.
-
Within the past week, I suddenly no longer receive any |
Beta Was this translation helpful? Give feedback.
-
It's possible that multiple PRs are merged together. In this case it'll trigger a single |
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
Sometimes, checks may fail because of the runners and we need a way to re-run merge queue failed checks without removing PR from the queue. |
Beta Was this translation helpful? Give feedback.
-
It's one year since this beta was launched! I'm curious, do you have any plans for adding support for semi-linear merge to the merge queue? Gitlab is working on adding support for their Merge Train functionality (same as Merge Queue). Source: https://about.gitlab.com/direction/verify/merge_trains/#what-we-are-currently-working-on cc @willsmythe |
Beta Was this translation helpful? Give feedback.
-
We should be able to click and jump to the check workflow which currently is executing |
Beta Was this translation helpful? Give feedback.
-
What's the level of effort to allow an admin bypass to still run in the merge queue? Some PR's we want to allow bypassing CODEOWNER restrictions, but still want the merge queue workflow checks to catch race conditions. |
Beta Was this translation helpful? Give feedback.
-
One of our repos has a branch protection rule that matches all "**/*" and prevents branch pushes. We have to do this, because we want users with forked PRs to merge PRs after approvals are done, but don't want them to create branches directly in the repo (the user must have write access to merge). It seems this breaks the merge queue functionality because the bot can't push to branches. We don't seem to be able to exempt the bot from the branch rule (it doesn't pop up in the auto-complete). Can we get the ability to exempt the bot, or just have it done automatically? We can't exclude the special merge queue branch, because users could push to a branch with that prefix. |
Beta Was this translation helpful? Give feedback.
-
Is there any up to date information regarding path-filtering support for merge queues (merge_group) in workflow definitions? It's very unfortunate not being able to use path-filtering and running so many unneeded workflows. all the time saved with merge queues is regained with way too much workflows in the queues waiting to run. |
Beta Was this translation helpful? Give feedback.
-
To second @OneCyrus PLEASE expedite path-filtering! Merge groups are not useable for so many repositories because of this. We've been patiently waiting for a very very long time for this feature now this has got to become the priority. |
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