mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-11 12:14:30 +08:00
- 新增 semantic-release 配置并固定 release rules 与 v 前缀 tag 格式 - 重构 auto-tag workflow 为 main 上的真实打标与 workflow_dispatch dry-run 双入口 - 保留现有 publish workflow 并补充 ai-plan 跟踪与验证记录
1.8 KiB
1.8 KiB
Semantic Release 版本迁移追踪
2026-04-26
阶段:方案落地准备(SEMREL-RP-001)
- 读取当前
auto-tag.yml与publish.yml,确认最小侵入改法应只替换版本判断与打 tag,保留 tag 触发发布链 - 核对最近 tag 与提交历史:
- 最新 tag 为
v0.0.222 v0.0.222..HEAD含多条feat(...),按目标规则首次 dry-run 预期结果为v0.1.0
- 最新 tag 为
- 补建本主题的 active tracking / trace 入口,并在
ai-plan/public/README.md中为feat/semantic-release-versioning建立 worktree 映射
阶段:配置落地与验证(SEMREL-RP-001)
- 新增
.releaserc.json,显式固定:feat -> minorfix/perf/refactor -> patchdocs/test/chore/build/ci/style -> no releaseBREAKING CHANGE/BREAKING CHANGES作为 major 信号
- 重写
auto-tag.yml:- 保留
workflow_run监听CI - Build & Test workflow_dispatch变为 dry-run 入口- 真实打 tag 改由
semantic-release-action处理,并要求PAT_TOKEN
- 保留
- 完成最小构建验证:
dotnet build GFramework.Core.Abstractions/GFramework.Core.Abstractions.csproj -c Release -p:RestoreFallbackFolders=- 结果:通过,
0 warning / 0 error
- 直接在当前工作树执行
semantic-release --dry-run时命中本地 tag 抓取冲突:git fetch --tags ... would clobber existing tag- 结论:当前工作树不适合作为 dry-run 验证环境
- 改用干净临时克隆
/tmp/gframework-semrel-dryrun再跑 dry-run:- 成功识别
v0.0.222为最新 release - 成功分析
269个提交 - 按当前规则得出下一次应为
minor发布,预期版本窗口从0.0.222提升到0.1.0
- 成功识别
下一步
- 复核变更 diff 并创建提交
- 向用户说明新的发版链路与可优化点