Merge Queue Questions

Hi Buildkite Team,

I’m working on migrating our pipelines from Github Actions to Buildkite PIpeline, but I’m facing an issue with the merge queue.

I was following the instruction below to set up my Merge Queue pipeline, but it seems like the instruction doesn’t work for me.

  1. Using GitHub merge queues | Buildkite Documentation
  2. Using GitHub's pull request merge queue in your pipelines

The pipeline was triggered when my pull request was added into the merge queue, but somehow my pull request was merged before the pipeline finished.

This is my pipeline configuration:

This is my github webhook configuration:

This is my github branch configuration:

So my questions are:

  1. Do we need to add a Github workflow for merge_group event?
  2. I followed the instructions in your side, but pipeline was triggered when my pull request was added into Github merge queue, why the pull request was merged before the pipeline finished?
  3. Do I need to update any configuration to make it works?

Thanks.

Hey Son.propte :wave:

Welcome to Buildkite community!

Thanks for sharing the details, we are currently looking into your details and will get back to you.

Cheers,
Priya

1 Like

Hey Son.propte :wave:

PR was auto merged because there were no status checks to look for the CI pipeline.

Could you modify below settings and let me know how it goes,

  1. In the pipeline settings → branch limiting → along with the existing merge queue temporary branch filter could you add a space and configure the branch name where you’re pushing the changes?

  2. In the pipeline settings → Github → Update commit status → enable Create a status for each job. This should create status check for your PR with the build kicked off with your changes which is allowed in step 1.

Let us know how you go!

Cheers,
Priya

Hi @Priya ,

I have updated the configuration following your instruction, but it didn’t work.

This is my pipeline current configuration

This is the pipeline triggered via the merge queue:
https://buildkite.com/propte/master-merge-queue-pipeline/builds/5

This is the PR - it was merged while the pipeline is pending:

Thanks.

Hey Son :wave:

This is Athreya jumping in for Priya!

I’ve gone through your pipeline settings in Buildkite and GitHub, with the settings that Priya mentioned and you configured, everything seems perfect, with one little catch:

Under the "Require status checks to pass before merging " section of your branch protection rules in GitHub, I noticed that no status check is chosen.

After your Buildkite build has run, you should see the status checks listed here. They will appear with names like buildkite/{pipeline-name} . For example, if your pipeline name is master-merge-queue-pipeline , it will be listed as buildkite/ master-merge-queue-pipeline . Select this and save the changes.

I understand this process can be a bit confusing as GitHub needs explicit mentioning of the status check in branch protection rules, even if Buildkite is set up to update commit statuses. This extra step ensures that GitHub is aware of which checks to enforce before allowing a merge.

If you encounter any issues or have further questions, please let us know. We are more than happy to assist you.

Cheers!