fix(ci): 修复preview cleanup的PR号提取和SSH安装问题 #504
Reference in New Issue
Block a user
Delete Branch "fix/preview-cleanup-alpine"
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?
修复内容
Bug 1: PR号提取错误
PR closed事件中
GITHUB_REF格式与opened事件不同,sed提取出来的是commit SHA而非PR号。修复: 优先从
GITHUB_EVENT_PATH读取PR号,fallback到正则提取,兼容所有事件类型。Bug 2: SSH安装失败(No package manager found)
部分runner实例没有包管理器,直接报错退出。
修复:
同时修复
验证
🚀 预览环境已部署
代码审查结果 - PR #504
⚠️ 问题(2个需要修改)
python3依赖缺失导致脚本崩溃的风险。代码中引入了python3来解析 JSON,但在后续的安装逻辑中(如apk分支)并未安装 Python。在 Alpine 等精简镜像中,Python 默认不存在,且脚本开头设置了set -eu,这将导致命令找不到时直接退出运行。/var/www/preview/pr-${PR_NUMBER})。这可能导致误删非预期的目录(例如pr-main),属于严重的安全逻辑漏洞。💡 建议(1个可选)
exit 0之前,确保后续步骤不依赖该步骤产生的环境变量。虽然当前逻辑看起来没问题,但在多步骤的 Job 中,过早exit可能会跳过同一run块中后续的必要初始化(如果将来添加的话)。目前可接受,但建议保持关注。✅ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 性能良好
🤖 由 AI 代码审查机器人自动生成 | 2026-07-18 13:59:29 | 模型:
CI全绿,自动审批通过。
CI全绿,自动审批通过。