Skip to content

feat(release): publish and install release artifacts via Xiaomi FDS#1212

Merged
qiaozongming merged 1 commit into
mainfrom
feat/fds-release
Jun 23, 2026
Merged

feat(release): publish and install release artifacts via Xiaomi FDS#1212
qiaozongming merged 1 commit into
mainfrom
feat/fds-release

Conversation

@qiaozongming

Copy link
Copy Markdown
Collaborator

背景

GitHub Release 在中国大陆下载慢。改为发布到小米 FDS 对象存储(国内 CDN 快),并让安装脚本从 FDS 下载。GitHub Release 仍照常上传(双份,作为存档/海外来源)。

改动

  • script/fds-upload.ts(新):FDS 上传库 + CLI。Galaxy-V2 签名用 Node crypto 实现(无 SDK / Python),上传后设公开读 ACL。凭证经 MIMO_FDS_AK / MIMO_FDS_SK 环境变量读取,不硬编码。
  • script/build.ts:发版段在 gh release upload 之后,新增把所有 dist/*.{zip,tar.gz} 上传到 FDS releases/v<version>/,并写 releases/latest(版本号)。无凭证时跳过,本地 release 构建不受影响。
  • install:从 FDS 下载——releases/latest 解析最新版本,releases/v<version>/<filename> 取包。基址可用 MIMO_FDS_BASE 覆盖。

布局自洽:上传写什么路径,install 就读什么路径。

验证

  • ✅ 实测上传:签名 PUT 成功,公开读 ACL 生效,匿名 CDN 下载返回 200、内容正确
  • bun typecheck 通过
  • ✅ 签名算法与参考实现(galaxy-fds-sdk)对齐

备注

  • FDS 凭证仅在发版环境注入,不进二进制(已扫描确认)。
  • 发版机需设置 MIMO_FDS_AK / MIMO_FDS_SK(对目标 bucket 有写权限)。

Test plan

  • 发版后确认 FDS releases/latestreleases/v<version>/ 产物就位
  • curl -fsSL https://mimo.xiaomi.com/install | bash 端到端安装
  • 无 FDS 凭证的本地 release 构建仍正常(跳过 FDS 上传)

@qiaozongming qiaozongming merged commit 9c0a0c7 into main Jun 23, 2026
2 of 3 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