Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kb7vDj6PHwymeDeSUUk1eX
41 lines
2.4 KiB
Markdown
41 lines
2.4 KiB
Markdown
# Release Checklist
|
||
|
||
每次发布 `<upstream>-cn.<n>` 按序执行,任一步失败即停止:
|
||
|
||
1. `cn/release` 写入本次发布号 `<n>`(上次 +1)并提交;此后所有构建产物自称 cn.`<n>`
|
||
2. `./test/all`:相对上游基线零新增失败;`test/shell.d/omarchycn-*.sh` 全绿
|
||
3. 用 `--local-source` 重建 ISO(`packages/omarchy-pkgs-cn.patch` 已应用到 omarchy-pkgs)
|
||
4. 验证 omarchy-dev 包含 cn 层(`tar -tf … | grep usr/share/omarchy/cn/`)
|
||
5. QEMU OVMF UEFI 冒烟:进入安装器欢迎屏
|
||
6. `sha256sum` → `SHA256SUMS.txt`;签名 SUMS 与 ISO(发布子钥)
|
||
7. SBOM 两份:syft(live airootfs)+ 离线仓库 .PKGINFO 采集
|
||
8. `release.json`(版本、双向提交、包版本表、迁移列表、min_compatible、产物清单)→ 签名 release.json
|
||
9. 把本次构建的 `omarchy-dev` / `omarchy-settings-dev` 发布到 [omarchycn] registry
|
||
(`packages/publish-cn-packages.sh`;先于公开 Release,一键转换才不会装到旧包)
|
||
10. ISO 上传 R2 下载站:`packages/upload-release-r2.sh <版本> <iso>`(脚本自带匿名回读 sha256 复核,
|
||
并自动只保留最新 2 个版本目录;公网地址 `https://dl.zacharyzhang.com/<版本>/<文件名>`,
|
||
凭据在 `~/omarchycn-build/.r2.env`)
|
||
11. 建 tag 与 Release,上传其余小件产物(SUMS/签名/SBOM/release.json),Release Notes 写明上游基线、
|
||
已知问题与 R2 ISO 下载链接;ISO 不再挂 Gitea 附件(带宽走 R2)
|
||
12. 匿名回读 R2 ISO 与 Release 附件并 sha256 复核 == 本地构建值
|
||
|
||
## 版本规则
|
||
|
||
`<omarchy-upstream-version>-cn.<n>`;`min_compatible` 只在有破坏性迁移时前移。
|
||
|
||
`cn/release` 表示当前树所属的发布号:发布的第一步把它写成本次发布号,两次发布之间 HEAD 保持上一
|
||
发布号(与上游 `version` 文件同语义)。发布之间构建并发到 [omarchycn] 的中间包因此自称上一发布号,
|
||
不会出现自称未发布版本的产物。
|
||
|
||
# 上游同步 SLA
|
||
|
||
- `upstream-sync.yml` 每日拉取 basecamp/omarchy quattro,自动开同步 PR(含试合并冲突标注)
|
||
- 常规变更:7 天内完成审查合并;上游安全修复:48 小时内
|
||
- 合并后必须重跑第 2 步测试门禁
|
||
|
||
# 安全响应
|
||
|
||
- 接报渠道见 `SECURITY.md`,72 小时内确认
|
||
- 涉及发布密钥泄露:按 `docs/release-signing.md` 轮换流程处理,吊销并公告
|
||
- 修复发布走本清单完整流程,不走捷径
|