发布操作¶
CCB experimental release workflow 由 master 相关 push 触发,也支持手工 dispatch。它创建
带时间戳 prerelease metadata、根据 Git history 生成 release note、创建 GitHub release,
再协调 translation、tileset、shader、desktop package 与 Android bundle 等 artifact。
权威与顺序¶
.github/workflows/release.yml 与 .github/workflows/release-android-bundle.yaml 定义实际
job、permission、dependency、artifact name 与 trigger;doc/RELEASE_PROCESS.md 提供背景。
操作前始终检查 release commit 上的 workflow。
- 确认 target commit 与默认分支 CI;
- 确认 translation、shader/tile generation、version metadata 与平台 build input;
- 只触发预期 workflow/event,不重跑无关旧 commit;
- 监视每个 dependent job,保留 run URL/log;
- 公告前比较 release target SHA、notes range、tag、checksum、artifact set、signature 与 smoke test。
失败处理¶
GitHub release 已创建不能证明所有 artifact 成功。下游失败时准确说明缺失/被替代 artifact; 通过 PR 修 workflow/input 后有意重跑。不能在可信 release name 下上传临时本地替代品。
安全与权限¶
release token/signing material 只留 GitHub secret/protected environment。workflow、permission、 signing 与 destination 变化需人类审查。当前宽 permission 是安全审查目标;在 setting 与 workflow scope 证明前,文档不能声称已实现 least privilege。
记录与回退¶
保留 release commit、tag、run ID、artifact checksum、toolchain/dependency revision、signing identity、Responsible human、known issue 与 supersession/rollback 决定。优先发布修正/替代 release,不静默替换 artifact。
验证¶
从 published artifact 对每个平台 smoke-test,验证 data、Mod、Lua、translation、graphics/ audio、save/load 与 upgrade。归档匹配 symbol 及诊断该准确 release 所需 docs/API snapshot。