Skip to content

ci: raise the merge queue's build concurrency from 2 to 4 - #6391

Merged
andygrove merged 1 commit into
apache:mainfrom
andygrove:ci/merge-queue-build-concurrency
Sep 29, 2026
Merged

andygrove merged 1 commit into
apache:mainfrom
andygrove:ci/merge-queue-build-concurrency

Conversation

@andygrove

Copy link
Copy Markdown
Member

Which issue does this PR close?

Closes #6386.

Rationale for this change

The merge queue builds at most two entries at once. With a median full pipeline of 92 minutes (2026-09-11 to 2026-09-29), that caps a queue that never runs dry at roughly 30 merges a day. Approvals have been arriving at about 20 a day and merges landing at about 13.6, so the approved backlog keeps growing, and a batch of queued PRs takes 10 to 12 hours to drain. The data, and a simulation of other settings, are in the issue.

What changes are included in this PR?

  • .asf.yaml: max_entries_to_build goes from 2 to 4, and its comment carries the current numbers.
  • The comment on the merge_group diff in ci.yml said base_sha covers every entry batched into the group. It is the queue commit of the entry ahead, so each entry's build covers only its own changes. The ALLGREEN comment in .asf.yaml now says why that makes HEADGREEN unsafe.
  • ci.md described the queue as building up to five pull requests as one batch. It now describes the per-entry builds. .github/workflows/README.md gets the new numbers.

How are these changes tested?

python3 dev/ci/check-ci-config.py, actionlint and prettier pass locally. The ruleset change takes effect when ASF's .asf.yaml processing applies it after the merge; the queue's GraphQL configuration.maximumEntriesToBuild should then read 4.

With two merge_group builds in flight and a median full pipeline of 92
minutes, a queue that never runs dry tops out at roughly 30 merges a
day, while approvals have been arriving at about 20 a day and merges
landing at about 13.6. Four builds in flight roughly doubles the cap.

Also correct the comment on the merge_group diff in ci.yml:
merge_group.base_sha is the queue commit of the entry ahead, not main,
so each entry's build covers only its own changes. That is sound under
ALLGREEN and is why HEADGREEN would not be, which the .asf.yaml comment
now says too. The contributor guide described the queue as batching up
to five pull requests into one build; it builds each entry on top of
the ones ahead of it instead.

Closes apache#6386.
@github-actions github-actions Bot added build Build environment enhancement New feature or request labels Sep 29, 2026

@mbutrovich mbutrovich left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @andygrove!

@andygrove
andygrove enabled auto-merge September 29, 2026 14:23
@andygrove

Copy link
Copy Markdown
Member Author

Thanks @mbutrovich!

@andygrove
andygrove added this pull request to the merge queue Sep 29, 2026
Merged via the queue into apache:main with commit 7c9129b Sep 29, 2026
39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build Build environment enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: raise the merge queue's build concurrency from 2 to 4

2 participants