fix(ci): 修复auto-merge语法bug - 逻辑抽取到独立脚本 #748
Reference in New Issue
Block a user
Delete Branch "fix/auto-merge-syntax-bug"
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?
问题
auto-merge workflow的bash脚本在act runner中报
syntax error near unexpected token 'fi',本地bash -n检查无问题,疑似YAML内嵌大段bash导致act解析异常。修复
将auto-approve和auto-merge的核心逻辑从workflow YAML中抽取为独立脚本:
scripts/ci/auto_approve.shscripts/ci/auto_merge.shworkflow中改为单行调用,彻底规避YAML内嵌bash的转义/缩进/解析坑,也方便本地调试。
🚀 预览环境已部署
CI全绿,自动审批通过。
CI全绿,自动审批通过。
🗑️ 预览环境已清理
PR #748 已关闭或合并,对应的预览环境已被清理。
代码审查结果 - PR #748
⚠️ 问题(0个需要修改)
无
💡 建议(3个可选)
scripts/ci/auto_approve.sh 第4-6行 & scripts/ci/auto_merge.sh 第4-6行:
set -eu重复声明set -eu,这是代码重构时的复制粘贴残留,虽然不影响功能,但应删除重复行以保持整洁。scripts/ci/auto_approve.sh & scripts/ci/auto_merge.sh:建议统一文件权限
mode 100644(普通文本文件)。虽然 Workflow 中通过bash scripts/...调用不依赖执行权限,但作为可执行脚本,建议赋予755权限(chmod +x),符合惯例也方便本地直接运行测试。scripts/ci/auto_approve.sh 与 scripts/ci/auto_merge.sh 逻辑一致性:
BACKEND_COUNT计算方式不统一auto_approve.sh使用grep -cv计算后端文件数,而auto_merge.sh使用TOTAL - FRONTEND_COUNT计算。FILES为空或包含空行等边界情况下行为可能不同(例如空输入时grep -cv返回 1,而数学计算返回 0)。建议统一使用一种计算逻辑(推荐数学计算,更精确)。✅ 格式检查通过 | ✅ 逻辑审查通过 | ✅ 性能良好
🤖 由 AI 代码审查机器人自动生成 | 2026-07-23 10:35:57 | 模型: