fix(ci): 修复预览环境workflow YAML解析错误 #499
Reference in New Issue
Block a user
Delete Branch "fix/preview-workflow-yaml"
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?
问题
preview-deploy.yml 和 preview-cleanup.yml 中,Comment 步骤内嵌的 Python 三重引号字符串包含 Markdown 表格(
| 项目 | 详情 |),表格行没有缩进,导致 YAML 的run: |块标量提前终止,整个 workflow 无法被 Gitea 解析注册。影响:预览环境 workflow 完全不会触发,PR 创建后没有预览部署。
修复
scripts/ci/preview_comment.py验证
🚀 预览环境已部署
代码审查结果 - PR #499
⚠️ 问题(2个需要修改)
except Exception: pass吞掉了所有异常。如果curl请求失败(如网络超时、API限流)或返回了非JSON格式的错误响应,脚本会静默失败,导致EXISTING_COMMENT_ID为空。这会使得每次运行都创建新的评论而不是更新旧评论,造成 PR 下评论重复堆积。建议移除该捕获或至少将错误输出到 stderr 并设置非零退出码。PR_NUMBER和PREVIEW_URL进行非空校验。如果环境变量未设置或为空(例如上游 Job 解析失败),脚本会生成格式错误的评论内容(如PR #或链接为空)并以状态码 0 退出,导致 CI 流程误判为成功并发布了无效信息。建议增加非空检查,缺失关键变量时应调用sys.exit(1)。💡 建议(1个可选)
sys.argv[1] if len(sys.argv) > 1 else "deploy"存在隐式默认值风险。如果调用方忘记传参,脚本会默认执行 deploy 逻辑而非报错,这在 cleanup 场景下会导致逻辑错误。建议移除默认值,参数缺失时直接报错退出。✅ 格式检查通过 | ❌ 逻辑审查需修改 | ⚠️ 建议关注性能
🤖 由 AI 代码审查机器人自动生成 | 2026-07-18 12:07:14 | 模型:
CI全绿,自动审批通过。
CI全绿,自动审批通过。