一份工作流文件把事件绑定到 runner 上的一串 job。

GitHub Actions 工作流给构建把门槛

每个 PR 都叠加 CI 结果,会让 review 更诚实。那份 YAML 与要检查的代码一起版本化,就是这层契约。 YAML 就是契约 工作流 YAML 同时声明了「何时运行」和「以什么权限运行」,所以它就是整份契约,而不只是信任的起点:on: 列出触发器,permissions: 钉住它能碰的东西,jobs: 声明作业和步骤。因为 on 在任何 job 跑之前就被解析,它也正是你决定「push 必须验证通过才允许合并」或「release 标签可以无人值守触发」的地方。把制定文件跟代码一起入库,让一个分支的 CI 和该分支自己的契约始终同版本、同步调。 job 与 step 有序执行 job 默认并行,step 在 job 内顺序执行;两张规则叠在一起,才组成整张图。一个失败的 step 会让它所在 job 后面的步骤取决于条件;能否继续后面 job,由 needs、if 和 job 级并发决定。这些声明把工作流变成一座真的闸门——红了就拦住合并,而不是跑完就撒手。实际工程里把必检的和快的放在前面、贵重的放在后面,让一次失败在廉价处就显形,而不是耗半天才喊停。 ...

九月 2, 2027 · 2 分钟 · XB Field Notes