Skip to content

fix(release): prevent latest mirror downgrade and verify both backends#176

Merged
Wangnov merged 8 commits into
mainfrom
codex/issue-170-mirror-monotonic-promotion
Jul 11, 2026
Merged

fix(release): prevent latest mirror downgrade and verify both backends#176
Wangnov merged 8 commits into
mainfrom
codex/issue-170-mirror-monotonic-promotion

Conversation

@Wangnov

@Wangnov Wangnov commented Jul 10, 2026

Copy link
Copy Markdown
Owner

Summary

  • 将发版入口绑定到默认分支上的受信任工作流与精确 tag SHA,并持续验证 tag 仍是 live default branch 的祖先。
  • 将 R2 设为权威端、IHEP 设为 follower,采用单调版本比较、CAS、歧义写入探测、回滚与收敛逻辑,避免 latest.json 降级或双镜像分叉。
  • 新增签名根 release-identity.json(.sig)、immutable Release 复用校验、精确 draft asset 集和双后端公开路由验证。
  • IHEP 公开重定向验证绑定 endpoint、bucket、prefix、object key 与 SigV4,拒绝跟随额外重定向。

Validation

  • npm run test:release — pass(56/56)
  • npm test — pass(175/175)
  • npm run check / npm run lint / npm run build — pass
  • actionlint / git diff --check — pass
  • GitHub PR checks — pass(6/6)
  • Exact codex review --base origin/main — no findings;未发现满足上报门槛的新增缺陷

External rollout gates

本 PR 仍保持 Draft,不代表可以直接发版。合并和发布前还需要:

  • release environment 的 deployment policy 收紧为仅允许受保护的 main
  • 合并后重新录入无法读取迁移的 Apple/Tauri signing secrets;确认新镜像 promotion credentials 后再删除旧 credential names。
  • 部署本分支的 manager download Worker,使公开响应带上新的 backend binding header。
  • GitHub Immutable Releases 当前仍为 disabled;待上述门禁在默认分支验证后再单独启用。

Refs #170

@Wangnov Wangnov marked this pull request as ready for review July 11, 2026 12:09
@Wangnov Wangnov merged commit 8c351b3 into main Jul 11, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant