chore(main): release 2.2.4 - #120
github-actions[bot] wants to merge 1 commit into
Conversation
7379ad5 to
145ef93
Compare
145ef93 to
3f02541
Compare
#121 把 5 处版本位挂进 release-please-config.json 后,RP 立刻刷新了 #120。真 PR 上的 diff 证明 `type: yaml` 不是"改一个字段":它 parse 完再 dump,把 config.yaml 的 232 行 改成 160 增 / 160 删,注释全灭(model_source_mode 选型说明、SSL 怎么打开、 vram_safety_margin_gb 的算式),连 "127.0.0.1" 的引号也被规范化。同一批里 json/toml 四条都是干净的 1 行 —— 破坏性只属于 yaml 写入器。 - release-please-config.json:删掉 config.yaml 那条(回到手工同步) - tests/test_version_consistency.py: * _RP_MANAGED 去掉 config.yaml,注释里留下这次实测的账 * 新增 test_extra_files_entries_are_all_actionable:类型只允许 json|toml|generic, 并逐条走 jsonpath 确认"当前值就是 canonical 版本号"(配错 key / 文件搬家 / 字段改名 都当场红,而不是发版当天发现 RP 静默少抬一处),generic 则要求行内标记在场 * 新增 test_bundled_changelog_describes_its_own_version:RP 只抬 version.json 的 $.version,不抬 changelog/release_date,而壳的 updater.rs 会读它展示给用户 —— 拦住"自称 2.2.4、说明写着 2.2.3"的包 - docs/release-governance.md:§1 改成"自动位 5 条 + 手工位 4 类"并写清为什么 yaml 不能用; 手工发版步骤补上"发完把 manifest 抬到刚发的版本"(否则两边在版本号上互踩); 把两处已经过时的"release-please.yml 是结构性空转"改掉 - docs/agents/GOTCHAS.md #147:教训是"能不能命中 ≠ 副作用大小",新配 extra-files 必须等一条真 release PR 看 diff 行数 门禁:test_version_consistency 8 passed(含 3 次变异复验——加回 yaml 条目 / 把 jsonpath 写成 $.package.versions / 只抬 version.json 的版本号,每次都红在对应的闸上); test_release_robustness + test_integrity_selfcheck_packaging 合计 24 passed; ruff check 通过;check_spec_refs.py 退出码 0。 Signed-off-by: ReSerendipity <zengyangc@outlook.com>
3f02541 to
e5ed3e1
Compare
e5ed3e1 to
a7520cd
Compare
a7520cd to
474a92e
Compare
|
按 owner 指示关掉,v2.2.4 走手工发版(与 v2.2.2 / v2.2.3 同一条路)。 这条 PR 本身是健康的,不是内容有问题才关:合入 #121 之后 RP 第一次在真 release PR 上被验, 关它的理由只有一条,而且是我这轮才量到的机制:release PR 上看不到任何 CI 检查 手工路径可以把 9 处一次改齐、并在打 tag 之前跑完版本位闸与全量测试,所以这次走手工。 manifest 会随手工发版那次提交一起抬到 2.2.4,所以 RP 下次不会再把版本号往 2.2.5 抬(这是 |
release-please 只抬 pyproject / version.json 的 $.version / desktop/package.json / tauri.conf.json / Cargo.toml / manifest。这里补它够不到的: - config.yaml 顶层 version - desktop/src-tauri/Cargo.lock 里本包那条 version - deploy/kubernetes/deployment.yaml 的两处 image tag(与 ghcr 的 semver tag 同步) - scripts/installer/setup.nsi 的 OutFile / APP_VERSION / VIProductVersion - version.json 的 changelog 与 release_date(壳的 updater.rs 会把 changelog 显示给用户, 只抬版本号会发出"自称 2.2.5、说明写着 2.2.4"的包) 为什么必须在这里补而不是等 CI:release PR 拿不到任何 CI 检查(GitHub 固定行为, GITHUB_TOKEN 产生的提交不级联触发 workflow;实测 #120 / #132 的 gh pr checks 都是空数组), 所以判据只会在合并后的 main 上响 —— 那时 tag 与 Release 已经发出去了。 补完之后 scripts/check_release_readiness.py 在本 head 上给的是"发版条件满足:全部版本位 = 2.2.5"。 Signed-off-by: ReSerendipity <zengyangc@outlook.com>
🤖 I have created a release beep boop
2.2.4 (2026-09-22)
Bug Fixes
Documentation
This PR was generated with Release Please. See documentation.