让 AI 写 CI,但合并门槛要能挡住一次真实失败
把本地「能跑」变成合并前可见的证据。先守住构建与一条关键路径。

AI 帮你把代码写完,页面也在本机打开了。第二天部署失败:有个文件只存在于你的工作目录,从没进过版本库。这种问题复盘起来很朴素,真正漏掉的是在干净环境里从头构建一遍。
让助手从这一步开始
让助手为一个反馈表单仓库设计一项固定名称的检查。告诉它从干净检出开始,给出构建和表单关键路径的命令,并列出检查何时触发。不要把发布、数据库迁移或真实用户数据并进普通 PR 验收。

先确定哪两项值得挡住合并
如果是一个收集反馈的小工具,第一项跑干净安装和构建,第二项跑「填写、提交、看到成功提示」这一条核心路径。两项都失败过,能挡住真实事故,才值得做成合并门槛。刚起步没浏览器测试时,可以先用一条能跑通提交接口的测试;等界面稳定再补浏览器流程。
GitHub Actions 支持在 pull_request 事件触发检查。仓库可用分支保护时,可以把你选中的状态检查设为必需。给任务一个稳定、唯一的名字,例如 app-check,方便以后知道是哪个结果挡住了合并。让小项目的检查短一点,尤其是一个人每天要改好几次的产品。
试一次红灯,再试一次绿灯
建一条临时分支,故意让一条测试失败,确认目标分支确实阻止合并。然后恢复改动,在同一个 PR 上看最新提交的检查通过。别只观察一次成功:如果某个必需的工作流因为路径条件整个被跳过,PR 可能一直等一个没出现的结果;某个任务本身被跳过又有不同的状态语义。首版把必需流程设成所有普通 PR 都跑,通常最好查问题。
把发布留在下一步
「可合并」表达的是当前提交经过了几项约定的检查。发版还要看数据迁移、配置变更和回退办法。发版时记录这次部署对应哪个提交,出了问题就能回到一个具体版本。合并这道门短一点,发版决定也就更容易做。
把问题变成可重跑的样例
在临时 PR 中故意把测试预期从 提交成功 改成 提交完成,保持产品代码原样。让助手提供检查状态、对应提交和分支规则结果。恢复断言后再次跑,让红绿对照证明检查覆盖的是这条行为。
核对这几项输出
- 在临时 PR 故意让测试失败,确认无法合并。
- 修复后同一 PR 的最新提交检查通过。
- 改只涉及文档的 PR 仍能看到必需检查最终状态。
怎么判断改动能不能收
要核对 GitHub 上实际的分支规则,仅有工作流文件不会自动形成合并门槛。找不到结果时先看事件、过滤条件和检查名字。把发版与合并各自需要的证据留在两张短清单里。
让助手在 PR 中只提供可核对的检查名称与结论,不给「已允许部署」这样的延伸判断。构建与关键路径可以作为合并门槛,但生产发布仍要看当前部署提交、配置和迁移。即使只有一位维护者,也可以把发版动作单独记录。

