GFramework/ai-plan/public/semantic-release-versioning/traces/semantic-release-versioning-trace.md
gewuyou b194238385 build(release): 迁移语义化版本打标流程
- 新增 semantic-release 配置并固定 release rules 与 v 前缀 tag 格式

- 重构 auto-tag workflow 为 main 上的真实打标与 workflow_dispatch dry-run 双入口

- 保留现有 publish workflow 并补充 ai-plan 跟踪与验证记录
2026-04-26 09:42:18 +08:00

40 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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`
- 补建本主题的 active tracking / trace 入口,并在 `ai-plan/public/README.md` 中为
`feat/semantic-release-versioning` 建立 worktree 映射
### 阶段配置落地与验证SEMREL-RP-001
- 新增 `.releaserc.json`,显式固定:
- `feat -> minor`
- `fix/perf/refactor -> patch`
- `docs/test/chore/build/ci/style -> no release`
- `BREAKING 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`
### 下一步
1. 复核变更 diff 并创建提交
2. 向用户说明新的发版链路与可优化点