Skip to content

feat(release): configure initial 5% rollout on crash service - #401

Open
yaojin3616 wants to merge 1 commit into
mainfrom
feat/release-initial-rollout
Open

feat(release): configure initial 5% rollout on crash service#401
yaojin3616 wants to merge 1 commit into
mainfrom
feat/release-initial-rollout

Conversation

@yaojin3616

Copy link
Copy Markdown
Contributor

Summary

  • 补齐 v0.8.2 打 tag 后灰度平台没有写入规则的缺失:把服务端写规则的那半合入 main。
  • 新增 scripts/configure-rollout.mjs:对 mac / mac-intel / windows 三个平台幂等地在 crash service 上创建/更新灰度规则(默认 5%)。
  • .github/workflows/release.ymlpublish job(tag push 时)ModelScope 镜像之后、飞书通知之前,新增 "Configure initial 5% rollout on crash service" 步骤;CRASH_ADMIN_TOKEN secret 缺失时跳过而非失败。
  • 附带单元测试覆盖 create / update / 409 冲突重试路径。

Background

v0.8.2(tag 于 2026-09-11)合入了客户端接入 feat: 接入桌面端灰度更新与异常日志上报 (#395),客户端会去 dshdesktop.com/crash/v1/updates/check 拉策略。但写策略那半只在 feat/release-initial-rollout 分支上,一直没合入主干、没开 PR。所以 v0.8.2 发布后 crash service 上没有任何 rollout 规则,灰度实际上没生效。

Follow-up

  • 合并后需要在 GitHub 仓库 secrets 里配置 CRASH_ADMIN_TOKEN,下一个 v* tag 起会自动执行。
  • 对已经发布的 v0.8.2,可在有 token 的机器上手动跑一次 node scripts/configure-rollout.mjs 0.8.2 5 补上规则。

Test plan

  • 合入前跑 npm test -- configure-rollout 通过(本地已带单测)
  • 合并后配置 CRASH_ADMIN_TOKEN secret
  • 下一个 tag 观察 release workflow 是否出现 "Configure initial 5% rollout on crash service" 步骤且非 skip
  • crash service admin API 中确认对应 version + 3 平台的规则已建立且 enabled=true, percentage=5

🤖 Generated with Claude Code

- Add configure-rollout.mjs script to manage platform rollout rules on crash service

- Integrate initial 5% rollout step into release workflow

- Add unit tests covering creation, update, and race condition conflict recovery
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