mirror of
https://git.openapi.site/https://github.com/desirecore/config-center.git
synced 2026-10-21 01:24:43 +08:00
docs: 明确纯运行发布无变化核验与恢复边界 (#123)
This commit is contained in:
12
.github/runtime-publication/README.md
vendored
12
.github/runtime-publication/README.md
vendored
@@ -11,3 +11,15 @@
|
||||
本地手工执行默认dry-run;`--apply`只写指定的独立bare目录,仍不会联网推送。完整开发校验是调用前置,不因这个工具成功而自动成立。工作流普通快进push只发送runtime一个ref,不写main、不force;仓库管理应保护runtime不被回退或删除,不能把普通push当成防管理员外部回退的绝对租约。
|
||||
|
||||
更新工具必须从准确生成源重建,审查第一方闭包、锁定依赖及许可、只允许Node内建external、拒绝SourceMap/私有路径/无关应用模块,再连同metadata和许可提交PR。运行文件白名单、信封与完整性算法只在生成源维护,禁止直接编辑bundle修补门禁。
|
||||
|
||||
## 文档、测试与数据更新的区别
|
||||
|
||||
文档或测试变更仍经过作者仓库的正常 PR 与 main 校验;不要为了规避发布而跳过这些校验。自动发布会对已验证的固定 main SHA 重新派生纯运行文件,并比较运行字节摘要。只有文档、测试或工具说明变化而运行字节相同时,应明确输出“纯运行字节未改变;没有新增 runtime 提交。”和“无运行内容变化;跳过推送。”,不提升 `manifest.json#presetDataVersion`,也不改写运行信封的来源或时间。
|
||||
|
||||
核验时记录来源 main SHA、对应 `Schema Validation` 和 `Publish Runtime Data` run,并比较前后 `refs/heads/runtime`、`.desirecore-runtime.json` 的 `dataVersion`、`payloadDigest` 与文件清单。发布任务被跳过、过时来源被拒绝或仅来源校验成功,都不能当成已执行的无变化验证。验证多个来源时应等待上一来源自动发布完成,再合入下一变更,避免当前 main 已前移而无法验证精确来源。
|
||||
|
||||
## 首用、复启与失败恢复边界
|
||||
|
||||
使用此发布线的客户端,首用的随包种子与后续候选都来自同一纯运行合同;作者仓库的资料和 Git 历史不应进入种子或更新下载。复启复用已安装的有效运行快照,远端更新在后台处理,不算首次安装步骤。实际客户端是否已采用此发布线仍须核对对应代码与发行版本,工作流部署不等于客户端已经发布。
|
||||
|
||||
数据或发布失败时保留原 runtime ref,不手工强推覆盖、回退或删除发布历史。需要修正已发布数据时,在作者 main 上经正常 PR 修正并递增 `presetDataVersion`,通过校验后发布新的运行提交。客户端候选校验失败或离线时应保留原有效数据;这属于客户端验收边界,不能用工作流成功替代验证。
|
||||
|
||||
Reference in New Issue
Block a user