docs: 固化 PaC cache 冷热验收路径

This commit is contained in:
pikastech
2026-07-18 03:37:45 +02:00
parent 4610041e3e
commit 2b7d6281cb
4 changed files with 53 additions and 2 deletions
+3 -2
View File
@@ -75,13 +75,14 @@ bun scripts/cli.ts hwlab nodes control-plane legacy-cicd --help
- `--timeout` 只接受严格 `<正整数>ms|s|m`,测试使用短 timeout 或虚拟时钟,不真实等待 `120s`
- watch 断连或后端错误必须显式失败,不能折叠为 timeout;该入口固定 `mutation=false`,不触发 PipelineRun、Argo refresh、GitOps 或 rollout。
- SELFMEDIA 最新一次端到端耗时:
- 唯一推荐入口是 `platform-infra pipelines-as-code delivery-timing --target NC01 --consumer selfmedia-nc01`
- PaC consumer 最新一次端到端耗时:
- 唯一推荐入口是 `platform-infra pipelines-as-code delivery-timing --target <NODE> --consumer <id>`
- 一次调用直接披露 GitHub PR `mergedAt`、trigger wait、PipelineRun/TaskRun、端到端耗时、Argo、runtime health 和 `evidenceGaps`
- 证据不完整时保留已成立的耗时字段并返回 `partial` 与明确缺口,不得手工串联第二状态源;
- 端到端耗时严格超过 owning YAML 预算时输出 `pac-automatic-delivery-over-budget`,固定 `blocking=false``mutation=false`
- 超预算提示只下钻 env identity、依赖缓存、BuildKit/cache 和 stage timing,不给出人工恢复命令;
- 该入口固定只读且 `mutation=false`,不得用于同步、触发、补跑或运行面写入。
- 验收 registry cache 性能时,按 [Gitea + PaC](references/gitea-pac.md) 的冷热两次正常 PR 流程执行,不用人工 PipelineRun 或重复 status/timing 试探。
- 新增 PaC consumer 的首次引导:
- 先执行一次 `pipelines-as-code bootstrap --dry-run`
@@ -157,6 +157,27 @@ bun scripts/cli.ts platform-infra pipelines-as-code source-artifact verify-runti
- 同时披露 trigger wait、PipelineRun、端到端耗时及 Argo/runtime closeout
- 缺少 PR、时间戳或 provenance 时返回 `partial``evidenceGaps`,不得用 commit 时间替代 `mergedAt`
- 整个入口保持 `mutation=false`,不写入历史库,不触发、同步或补跑交付。
- registry cache 性能验收:
- 冷缓存样本:
- 第一个正常 source PR 只负责预热;
- PipelineRun 成功且 cache 已导出后记录一次 `delivery-timing`
- 不得把首次 `mode=max` 导出耗时当作 cache-hit 回归结果。
- cache-hit 样本:
- 第二个正常 source PR 不得改变目标构建输入;
- 可以使用本来就需要合并的源码或文档变更;
- 禁止制造无语义 source-artifact 刷新。
- 耗时判定:
- 两个样本各执行一次 `delivery-timing`
- 按 owning YAML 的 `deliveryTiming.endToEndBudgetSeconds` 比较 trigger wait、PipelineRun、最长 TaskRun 和端到端耗时;
- `state=partial` 时保留已成立的时间字段与 `evidenceGaps`,不立即串联 `status``history` 或日志;
- 只有真实失败或证据矛盾才按最短分层诊断入口下钻。
- source artifact 收口:
- consumer 声明 `sourceArtifact` 时,在最终 cache-hit commit 建立 clean exact-commit worktree
- 只执行一次 `source-artifact verify-runtime`,完成 artifact、embedded PipelineRun 与 provenance 对齐。
- 禁止项:
- 整个流程只使用两次正常 PR merge 自动事件;
- 不创建人工 PipelineRun
- 不执行 mirror sync、Argo sync、补链或第二触发。
`history --id <pipelinerun>` 必须按 target 内唯一 PipelineRun prefix 或 Tekton pipeline 归属解析实际 consumer,并用该 consumer 生成 status/history `Next`。零匹配、多匹配或显式 `--consumer` 与实际归属冲突时必须在远端读取前 fail-closed;禁止回退默认 consumer。