feat(ci): run workflows in the merge queue#397
Open
Kiran01bm wants to merge 4 commits into
Open
Conversation
Add a merge_group trigger to the test, lint, and docker workflows so required checks report on the queue ref. Re-gate the docker publish steps to run only on push events so the queue validates the image build without logging in or publishing. Inert until the merge queue is enabled in branch protection.
There was a problem hiding this comment.
Pull request overview
Enables GitHub Merge Queue compatibility by ensuring required CI workflows also run on the merge_group event, and tightens Docker publish-related steps so merge-queue validation builds images without authenticating to registries or pushing artifacts.
Changes:
- Add
merge_grouptriggers to theTests,golangci-lint, andDocker & Helmworkflows so required checks report in the merge queue. - Re-gate Docker publishing-related steps (QEMU setup, registry login, multi-arch platforms, and
push:) to run only onpushevents.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| .github/workflows/test.yaml | Adds merge_group trigger so the full test suite can run as a merge-queue required check. |
| .github/workflows/lint.yaml | Adds merge_group trigger so lint runs and reports in the merge queue. |
| .github/workflows/docker.yml | Adds merge_group trigger and restricts image publishing behavior to push events while still validating builds in the queue. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
merge_group events carry neither head_commit.timestamp (push-only) nor pull_request.updated_at (PR-only), so BUILD_DATE resolved to an empty string. Add github.run_started_at as an always-present final fallback.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
aparajon
approved these changes
Jun 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Add a
merge_grouptrigger to thetest,lint, anddockerworkflows sotheir checks report on the merge-queue ref. Also re-gate the docker publish
steps (QEMU, registry login,
push:, multi-archplatforms:) to run only onpushevents, so the queue validates the image build without logging in orpublishing.
Why
A merge queue requires every required status check to run on the
merge_groupevent, or the queue stalls forever. The
changesjob already resolvescode=truefor non-PR events, so the full suite runs in the queue with no extralogic. The publish re-gating fixes a footgun: the old
!= 'pull_request'condition is true for
merge_group, which would have made the queue pushimages.
Inert until a repo admin enables the merge queue in branch protection and
selects the queue-required checks (keep the PR-only chart-lint out of that set).
No behavior change to today's PR/
mainflows.Time savings
This PR is only the enabler — the savings land in the next one (the e2e split).
Jobs run in parallel, so the win is in CI-minutes (compute/cost), not
wall-clock. Figures below are from a representative recent
Testsrun.Where the minutes go per run:
Cost per PR, by number of pushes before merge (heavy suite runs once at merge
instead of on every push):
PR feedback wall-clock drops ~5.5 → ~4.5 min (bounded by integration, not k8s).
Single-push PRs are roughly a wash; savings come from iterative PRs, the common
case.