fix(ci): auto-merge去掉审批检查 + auto-approve超时延至40分钟 #713
Reference in New Issue
Block a user
Delete Branch "fix/auto-merge-no-approval-needed"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
required_approvals=0(不要求审批),但 auto-merge 脚本要求必须有审批才能合并,导致 CI 全绿但没审批的 PR 无法自动合并(如 #705)。修复
影响
CI全绿,自动审批通过。
CI全绿,自动审批通过。
🚀 预览环境已部署
📊 审查概览
❌ 需修改的问题(严重)
check_pr_approval.py的逻辑以及合并条件中对HAS_APPROVAL的校验,仅依赖注释说明“分支保护required_approvals=0”。如果仓库的分支保护设置后续被修改为需要审批,此自动化脚本将直接合并 PR,导致绕过代码审查流程,存在严重的安全隐患。required_approvals配置值,不要在代码中硬编码假设配置状态。💡 改进建议(一般)
for attempt in $(seq 1 240)配合sleep 10来控制 40 分钟超时。这种方式计算不够精确(忽略了循环体本身的执行耗时),且修改时长需要同时修改两个地方(循环次数和日志文案)。建议使用timeout 40m bash -c '...'命令包裹轮询逻辑,或者在循环外计算截止时间戳end_time=$(date +%s --date='+40 minutes')并在循环内比对,逻辑更严谨且易于维护。✅ 良好实践
🤖 由 AI 代码审查机器人自动生成 | 2026-07-22 14:36:14 | 模型:
🗑️ 预览环境已清理
PR #713 已关闭或合并,对应的预览环境已被清理。