diff --git a/ai-plan/public/README.md b/ai-plan/public/README.md index 1aeea93f..c77c8a14 100644 --- a/ai-plan/public/README.md +++ b/ai-plan/public/README.md @@ -62,9 +62,6 @@ help the current worktree land on the right recovery documents without scanning - Branch: `feat/semantic-release-versioning` - Worktree hint: `GFramework` - Priority 1: `semantic-release-versioning` -- Branch: `feat/release-summary-notes` - - Worktree hint: `GFramework` - - Priority 1: `semantic-release-versioning` - Branch: `docs/sdk-update-documentation` - Worktree hint: `GFramework-update-documentation` - Priority 1: `documentation-full-coverage-governance` diff --git a/ai-plan/public/semantic-release-versioning/archive/todos/semantic-release-versioning-rp004-2026-05-02.md b/ai-plan/public/semantic-release-versioning/archive/todos/semantic-release-versioning-rp004-2026-05-02.md new file mode 100644 index 00000000..b3ad830e --- /dev/null +++ b/ai-plan/public/semantic-release-versioning/archive/todos/semantic-release-versioning-rp004-2026-05-02.md @@ -0,0 +1,23 @@ +# Semantic Release 版本迁移归档(SEMREL-RP-004,2026-05-02) + +## 归档范围 + +- `feat/release-summary-notes` 分支的 release notes 模板修复 +- PR 归属展示与重复 commit 输出问题收敛 +- `SEMREL-RP-004` 的本地验证与合并后分支收尾 + +## 历史完成项 + +- 已确认 `.github/cliff.toml` 中旧模板会先输出未分组 commit 列表,再输出 grouped commit 列表,导致同一批变更重复出现。 +- 已移除未分组 commit 循环,只保留按 Conventional Commit group 分类后的 `What's Changed` 输出。 +- 已保留每条变更末尾的 `by @user in #PR` 输出,避免新增独立 PR 索引章节造成重复。 +- 已将 `.github/workflows/publish.yml` 的 GitHub Release 正文改为 `body_path: RELEASE_NOTES.md`,复用 `git-cliff-action` 生成的文件。 +- 已将 `feat/release-summary-notes` 合入 `main`,本地 `main` 已快进到合并提交 `35a62e6b`。 +- 已从 `ai-plan/public/README.md` 移除 `feat/release-summary-notes` 的 active topic 映射;`semantic-release-versioning` 主题本身仍保持 active。 + +## 历史验证 + +- `.github/cliff.toml` 通过 Python `tomllib` 解析。 +- `.github/workflows/publish.yml` 通过 PyYAML 解析。 +- `yq` 确认 GitHub Release step 使用 `body_path: RELEASE_NOTES.md`。 +- `dotnet build GFramework.sln -c Release` 通过,`0 warning / 0 error`。 diff --git a/ai-plan/public/semantic-release-versioning/todos/semantic-release-versioning-tracking.md b/ai-plan/public/semantic-release-versioning/todos/semantic-release-versioning-tracking.md index a13acfa8..972d439b 100644 --- a/ai-plan/public/semantic-release-versioning/todos/semantic-release-versioning-tracking.md +++ b/ai-plan/public/semantic-release-versioning/todos/semantic-release-versioning-tracking.md @@ -13,12 +13,12 @@ ## 当前恢复点 -- 恢复点编号:`SEMREL-RP-004` -- 当前阶段:`Phase 2` +- 恢复点编号:暂无 +- 当前阶段:等待下一轮 semantic-release 维护任务 - 当前焦点: - - 收敛 release notes 的 PR 归属展示方式 - - 确保 `.github/cliff.toml` 不新增独立 PR 索引导致重复输出同一批 commits - - 让分类变更列表本身承担 `What's Changed` 语义,并继续在每条 entry 末尾展示作者与 PR 链接 + - `SEMREL-RP-004` 已归档到 + `ai-plan/public/semantic-release-versioning/archive/todos/semantic-release-versioning-rp004-2026-05-02.md` + - 后续如 CI 或发布流程继续暴露 semantic-release 问题,再从新的恢复点编号开始记录 ### 已知风险 @@ -28,7 +28,6 @@ - `semantic-release` 的版本判断完全依赖 Conventional Commits;不规范提交会直接影响版本计算 - `cycjimmy/semantic-release-action@v6` 需要在 preview / release 两端都安装 `conventional-changelog-conventionalcommits` 以保证 `conventionalcommits` preset 在 GitHub Actions 中可解析 -- 当前仓库本地 `dotnet clean/build` 会带出既有 analyzer warnings;本轮仅修正发版配置与文档,不额外处理这些历史 warning - `git-cliff-action` 的 `OUTPUT` 文件需要在 `softprops/action-gh-release` 执行时保留在当前工作目录,后续如调整 working-directory 或 artifact 路径,需要同步复查 `body_path` @@ -40,39 +39,16 @@ - 已在 PAT 校验中补充 `permissions.push` 断言,避免 read-only token 通过 API 探活却在 `semantic-release` 的 `git push --dry-run` 阶段才失败 - 已为 PAT 校验的 `mktemp` 文件补充 `trap` 清理,避免异常退出时遗留临时文件路径干扰日志 -- 已同步更新 active trace 到 `SEMREL-RP-004`,记录本轮 PR review 收敛结果 -- 已用 `$gframework-pr-review` 抓取 PR #312 最新 review payload,确认未失败测试、未发现 MegaLinter 明细,仍有 - CodeRabbit / Greptile 针对 release notes 的未解决线程 -- 已移除 `.github/cliff.toml` 中 `## What's Changed` 下的未分组 commit 循环,仅保留按 Conventional Commit group - 分类后的输出,避免每个 commit 在生成的 changelog 中出现两次 -- 已将 `.github/cliff.toml` 的分类变更列表重新置于 `## What's Changed` 下,但没有恢复未分组平铺列表; - 每条变更继续通过 `print_commit` 输出 `by @user in #PR` 链接,满足 PR 追溯需求同时避免重复章节 -- 已将 `.github/workflows/publish.yml` 的 GitHub Release 正文从多行 expression 改为 `body_path: RELEASE_NOTES.md`, - 复用 `git-cliff-action` 写出的 release notes 文件 -- 已在 `ai-plan/public/README.md` 中将 `feat/release-summary-notes` 映射到 `semantic-release-versioning`,便于后续 - `boot` 直接找到本次发布说明模板上下文 +- `SEMREL-RP-004` 的 release notes 模板修复、验证和合并后分支收尾已归档到 + `ai-plan/public/semantic-release-versioning/archive/todos/semantic-release-versioning-rp004-2026-05-02.md` ## 验证 -- `python3 -c 'import tomllib; tomllib.load(open(".github/cliff.toml", "rb")); print("cliff.toml OK")'` - - 结果:通过 - - 备注:确认 `.github/cliff.toml` 仍为合法 TOML -- `command -v git-cliff` - - 结果:未找到本地 `git-cliff` - - 备注:本地无法直接预览 git-cliff 输出,发布 workflow 仍通过 `orhun/git-cliff-action@v4` 提供运行时二进制 -- `python3 -c 'import yaml; yaml.safe_load(open(".github/workflows/publish.yml", encoding="utf-8")); print("publish.yml OK")'` - - 结果:通过 - - 备注:确认 `.github/workflows/publish.yml` 仍可解析为 YAML -- `yq '.jobs."create-release".steps[] | select(.name == "Create GitHub Release and Upload Assets") | .with' .github/workflows/publish.yml` - - 结果:通过 - - 备注:确认 release step 现在使用 `body_path: RELEASE_NOTES.md` -- `dotnet build GFramework.sln -c Release` - - 结果:通过 - - 备注:Release 构建通过,`0 warning / 0 error`;本轮只改动 GitHub Actions / git-cliff 配置与恢复文档 +- `SEMREL-RP-004` 的本地验证结果已归档。 - 更早阶段的 dry-run / tag /抽象项目验证已归档到 `ai-plan/public/semantic-release-versioning/archive/todos/semantic-release-versioning-2026-04-26.md` ## 下一步 -1. 提交并推送本轮 release notes 模板调整 -2. 如 CI 仍报告 release notes 发布问题,再优先复查 `git-cliff-action` 输出文件路径与模板渲染结果 +1. 如 CI 仍报告 release notes 发布问题,再优先复查 `git-cliff-action` 输出文件路径与模板渲染结果 +2. 下一轮 semantic-release 调整开始时创建新的恢复点编号 diff --git a/ai-plan/public/semantic-release-versioning/traces/semantic-release-versioning-trace.md b/ai-plan/public/semantic-release-versioning/traces/semantic-release-versioning-trace.md index 2917ddd0..94150cc3 100644 --- a/ai-plan/public/semantic-release-versioning/traces/semantic-release-versioning-trace.md +++ b/ai-plan/public/semantic-release-versioning/traces/semantic-release-versioning-trace.md @@ -40,6 +40,16 @@ - `dotnet build GFramework.sln -c Release` 通过,`0 warning / 0 error`。 - 下一步是提交并推送本轮 PR review 修复,然后重新抓取 PR review 确认相关线程状态。 +## 2026-05-02 + +### SEMREL-RP-004 合并后归档 + +- `feat/release-summary-notes` 已合入 `main`,本地 `main` 快进到合并提交 `35a62e6b`。 +- 已将 `SEMREL-RP-004` 的 release notes 模板修复、验证和分支收尾记录归档到 + `ai-plan/public/semantic-release-versioning/archive/todos/semantic-release-versioning-rp004-2026-05-02.md`。 +- 已从 `ai-plan/public/README.md` 移除 `feat/release-summary-notes` 到 `semantic-release-versioning` 的 active topic 映射。 +- `semantic-release-versioning` 主题仍保持 active,等待下一轮 semantic-release 维护任务。 + ## 2026-04-26 ### 当前恢复点(SEMREL-RP-004)