feat(ship): clarify delivery stop semantics
This commit is contained in:
@@ -7,27 +7,31 @@ change_ready -> verified -> pr_opened -> merged -> regression_passed -> artifact
|
||||
```
|
||||
|
||||
入口可以从已有状态开始,但不能跳过本次变更所需的验证。内部里程碑可以更细,但项目
|
||||
ACK 配置必须使用以下 canonical `stopAt`:
|
||||
Ship 配置使用以下 canonical `stopAt`:
|
||||
|
||||
- `verified`:只完成代码和验证。
|
||||
- `validation_ready`:不可变产物已部署到开发/测试环境并通过健康检查,可交给用户验证。
|
||||
- `review_ready`:PR/MR、预览产物和非生产验证证据已齐备,等待审核。
|
||||
- `released`:经过本次 approval 后完成稳定发布或生产部署。
|
||||
- `develop_verified`:开发阶段验证完成,包含单元测试、新增功能集成测试和静态检查;不等于完整回归。
|
||||
- `review_ready`:PR/MR 已创建,等待审核。
|
||||
- `release_ready`:PR 已合并且完整回归通过,映射内部 `regression_passed`;不表示已发布或部署。
|
||||
- `released`:产物已构建并发布,映射内部 `published`。
|
||||
- `deployed`:目标环境实际部署完成,映射内部 `deployed`。
|
||||
|
||||
旧记录可继续使用 `verified`(`develop_verified` 的别名)和 `validation_ready`
|
||||
(`release_ready` 的别名);新记录应使用 canonical 名称。
|
||||
|
||||
入口 skill 的自然语言停止点映射如下:
|
||||
|
||||
| 用户目标 | ACK stopAt | 必要内部里程碑 |
|
||||
| 用户目标 | Ship stopAt | 必要内部里程碑 |
|
||||
| --- | --- | --- |
|
||||
| 只验证 | `verified` | `verified` |
|
||||
| 只做开发验证 | `develop_verified` | `verified` |
|
||||
| 发 PR | `review_ready` | `pr_opened`,必要时预览构建/测试 |
|
||||
| 部署测试环境 | `validation_ready` | `artifact_built`、`deployed`、健康检查 |
|
||||
| 合并后回归但不发布 | `review_ready` 或任务级中间状态 | `merged`、`regression_passed` |
|
||||
| 完整正式部署 | `released` | `merged`、`regression_passed`、`artifact_built`、`published`、`deployed` |
|
||||
| 合并后完整回归 | `release_ready` | `merged`、`regression_passed` |
|
||||
| 构建并发布产物 | `released` | `merged`、`regression_passed`、`artifact_built`、`published` |
|
||||
| 实际部署 | `deployed` | `merged`、`regression_passed`、`artifact_built`、`published`、`deployed` |
|
||||
|
||||
## 每个阶段的要求
|
||||
|
||||
- `change_ready`:记录基线 commit、工作树、目标分支、任务范围和风险。
|
||||
- `verified`:根因或需求验收明确;自动测试和必要的黑盒/真机验证通过。
|
||||
- `verified`:开发阶段根因或需求验收明确;任务相关单元测试、新增功能集成测试和静态检查通过。
|
||||
- `pr_opened`:提交说明、测试证据、风险和回滚信息已写入 PR;不能把草稿 PR 当 `review_ready`。
|
||||
- `merged`:目标分支的合并 commit 已确认,不能只确认源分支 commit。
|
||||
- `regression_passed`:以合并 commit 执行项目规定的完整回归;失败则回到修复或停止。
|
||||
@@ -39,7 +43,7 @@ ACK 配置必须使用以下 canonical `stopAt`:
|
||||
测试面缺少结果时都不能通过回归。
|
||||
- `artifact_built`:对**合并后的精确 commit SHA** 调用 builder `obtain.sh`。`BUILD_VENUE=ci` 时监听该 SHA 的流水线并 inspect 产物,不在本机重新编译。无流水线、job 失败或 digest 对不上则本阶段失败,不得进入 `published`。项目若声明默认分支不构建,合进 `main` 会 `no_pipeline`:预览推 `dev/*`,正式打 tag。
|
||||
- `published`:镜像/APK 等外部分发位置可复核,记录 digest 或文件校验和。`venue=ci` 且 CI 已经 push 到 registry 时,obtain 成功即同时满足本阶段,不要再本机 `publish_docker.sh`。
|
||||
- `deployed`:目标服务运行在预期版本,健康检查和关键路径验证通过;生产部署还必须进入 `released`。
|
||||
- `deployed`:目标服务运行在预期版本,健康检查和关键路径验证通过。
|
||||
|
||||
## 配置和授权
|
||||
|
||||
|
||||
Reference in New Issue
Block a user