mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-12 05:08:58 +08:00
- 新增 semantic-release 配置并固定 release rules 与 v 前缀 tag 格式 - 重构 auto-tag workflow 为 main 上的真实打标与 workflow_dispatch dry-run 双入口 - 保留现有 publish workflow 并补充 ai-plan 跟踪与验证记录
40 lines
1.8 KiB
Markdown
40 lines
1.8 KiB
Markdown
# 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. 向用户说明新的发版链路与可优化点
|