Repository navigation
ci: run the merge queue build in its own reusable workflow - #536
Merged
Merged
Conversation
Moves the self-hosted merge_group job into queue-build.yml, which queue.yml calls, so the rust2-queue runner group can later admit that workflow alone at refs/heads/main. A Queue job on a hosted runner reports the build's result under the context main's ruleset requires. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kixelated
added a commit
to moq-dev/quest
that referenced
this pull request
Nov 3, 2026
…nner group Records the 2026-11-03 decision to restrict each queue runner group to a reusable build workflow at refs/heads/main, and takes its first step here and in moq-dev/rind#289 and moq-dev/rust2#536. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kixelated
marked this pull request as ready for review
November 3, 2026 15:16
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 26 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. CodeRabbit Verify
|
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.
Problem
The
rust2-queuerunner group admits any workflow in moq-dev/rust2, so a PR's own workflow, such as an approved fork run, could reach the self-hosted runner. GitHub matches a runner group's selected workflow by its exact ref with no wildcard, and a merge group runsqueue.ymlfrom its owngh-readonly-queue/main/pr-<n>-<sha>branch, so the group can't be restricted toqueue.ymlitself.Approach
First step of the reusable-workflow restriction the maintainer picked on 2026-11-03 (moq-dev/quest#439, quest runners.md):
.github/workflows/queue-build.yml(on: workflow_call). Its job runs only when the caller's event ismerge_group, so a pull request's workflow that calls it still gets no runner.queue.ymlcalls it by its local path for now, so this PR's own merge group runs the new file.Queue build / Build, so a newQueuejob on a hosted runner reports the build's result under the context main's ruleset requires. It runs withalways()so a failed or cancelled build fails the context rather than skipping it; it skips on pull requests as before.Next, once this is on main: switch the call to
moq-dev/rust2/.github/workflows/queue-build.yml@main(a merge group calling@mainbefore the file lands would find no workflow), then the maintainer restricts the group to that workflow atrefs/heads/main.Impact
No public API change. The required
Queuecontext keeps its name; the build now also shows asQueue build / Build.Alternatives
Queue build / Buildin the ruleset instead of a reporting job: needs a ruleset change timed with the workflow change, and the PR-side skip andworkflow_dispatchreport would need the new name too.Follow-ups
The
@mainswitch and the restriction, tracked in moq-dev/quest's runners quest.Validation
just check origin/mainpasses, including actionlint.Review
Codex (
quest review, gpt-6.1-sol, medium), round 1 on f5ae018 against origin/main 93df389: no findings.🤖 Generated with Claude Code
(Written by Claude Opus 5.5)