GitHub合并队列PR停滞:无检查任务触发问题求助
核对Workflow的
merge_group触发规则配置
打开你的Workflow YAML文件,确认on字段里正确添加了merge_group,示例如下:on: pull_request: merge_group:注意不要犯拼写错误(比如写成
merge_groups),同时严格遵守YAML的缩进格式——缩进错误会直接导致规则失效。另外检查是否存在if条件限制,会不会导致merge_group场景下Workflow被跳过,比如仅允许特定分支触发、或路径过滤排除了当前场景。确认目标分支的保护规则配置
进入仓库Settings→Branches,找到目标分支的保护规则:- 确保「Require status checks to pass before merging」处于启用状态
- 在「Status checks that are required」列表中,必须将需要在合并队列运行的Workflow任务添加进去
- 注意:新添加的Workflow需先在merge_group场景下运行过一次,才会出现在可选的检查列表中,未运行过的任务可能无法被选中
检查权限设置
查看Workflow的权限配置是否足够,比如是否包含contents: write这类必要权限,权限不足会导致触发失败。如果是组织级仓库,确认全局规则未禁用merge_group触发的Workflow。查看日志与事件记录
进入仓库的Actions页面,切换到「Merge group」标签,查看是否有未触发或失败的记录。若有权限,可查看仓库的Audit log,搜索merge_group相关事件,排查是否存在触发被拦截的痕迹。也可以手动测试:创建临时PR加入合并队列,或使用GitHub CLI命令gh api repos/{owner}/{repo}/merge-groups -X POST -f head_sha=<SHA>(替换为实际的仓库所有者、仓库名和提交SHA)手动触发,验证能否启动Workflow。排查队列状态与分支冲突
确认PR进入合并队列后无分支冲突——虽然冲突通常会有明确提示,但少数情况下可能表现为检查不触发。尝试清空合并队列,重新添加PR,观察是否能正常触发检查。
内容的提问来源于stack exchange,提问作者Philippe Balleydier

