ci: add audited Memmy draft release workflow - #199
Merged
syzsunshine219 merged 12 commits intoAug 12, 2026
Merged
Conversation
added 2 commits
August 12, 2026 14:43
…utomation-v2 # Conflicts: # tests/release-workflow.test.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
目标
为
MemTensor/memmy-agent增加新的发版 Draft Release 自动化链路。这条链路只负责在可信证据基础上创建 GitHub Draft Release,不直接 Publish、不直接发布 npm、不直接修改官网、不触发 production。
核心流程
Release Notes 生成规则
.github/release-notes/vX.Y.Z.md不是硬性必填。优先级是:
.github/release-notes/vX.Y.Z.md,使用它作为人工草稿。release_notes_md、quality_report,并证明三候选生成/打分;如果缺配置、接口失败、质量报告不合格或needs_review=true,full 预检直接失败。也就是说:真实 Memmy 发版不再静默 fallback 到 GitHub generated notes。发版人可以通过修复 106 配置/服务后重跑,或者在发版分支补充经过人工 review 的
.github/release-notes/vX.Y.Z.md来恢复。106 生成的是 Draft Release 的正文候选,不会自动提交回
main。安全边界
github-release.yml自动发布链路,避免误用旧入口。create_draft=true时才会创建 Draft Release。这次补强
DOC_AGENT_RELEASE_NOTES_DRAFT_URL、DOC_AGENT_RELEASE_NOTES_DRAFT_TOKEN、endpoint 路径、鉴权和 106 服务可达性。Verify repository version metadata只在 full 执行,避免发版分支尚未合 main 前无法提前跑 smoke。pull-requests: read,避免 full evidence 阶段读取 commit 关联 PR 时因为默认权限收紧失败。本地验证
npm run test:release-workflow:通过,17/17npm run version:check:通过git diff --check:通过63a968d0bd0887269749ab566b58c18d90d3521eFork Actions 验证
1.0.5smoke 预检已在 fork 上通过,用于证明基础 workflow 可运行:https://github.com/MLittleprince/memmy-agent/actions/runs/31482199233
DOC_AGENT_RELEASE_NOTES_DRAFT_URL和DOC_AGENT_RELEASE_NOTES_DRAFT_TOKEN已配置。说明:full 预检需要真实发版版本文件和四个安装包资源就绪后再跑;目前不应在没有发版资产的情况下强行创建 Draft。
v1.0.6 当前注意事项
只读检查显示,主仓
v1.0.6分支此前还不是可发版状态:1.0.5时,如果v1.0.6分支合入 main,新 Action 会因版本门禁失败,不会创建 Draft。1.0.6四个安装包未就绪时,full 预检会在安装包校验阶段失败。.github/release-notes/v1.0.6.md缺失不是阻塞项;缺失时会走 106 生成 Draft Release Notes。因此建议合并顺序是:先合并本 PR;等
v1.0.6分支完成版本文件和安装包准备后,再合入v1.0.6 -> main。需要 MT / 仓库管理员配置
在
MemTensor/memmy-agent配置:DOC_AGENT_RELEASE_NOTES_DRAFT_TOKENDOC_AGENT_RELEASE_NOTES_DRAFT_URLNPM_TOKEN,确认仍可用release可用于增加人工审批保护;如果仓库暂不配置 reviewer,本 PR 仍保持 Draft-only 边界在 GitHub Webhook 配置:
http://106.15.248.155:18080/webhooks/githubapplication/json106 当前配套状态
MemTensor/websitePR [Feature] 支持按会话(conversation)注入 Anthropic metadata.user_id 以提升 prompt cache 命中率 #4 已合并:支持 Memmy release notes draft 与官网 changelog sync。MemTensor/websitePR [Feature]: MD生成后,少一个复制按钮,导致每次复制全文都很麻烦 #5 已合并:Memmy DingTalk 通知默认关闭,避免未完全打通前刷群。MEMMY_CHANGELOG_RELEASE_SYNC_ENABLED=falseMEMMY_CHANGELOG_PREVIEW_ENABLED=falseMEMMY_CHANGELOG_DINGTALK_ENABLED=false所以合并本 PR 后,不会立刻改官网;只有后续管理员配置、dry-run 验证、人工打开开关后,才会进入完整自动化。