SuperAPI AI 工具集

generate-changes

通用与其它

查看项目

更新于 10-15 21:12

技能介绍

用途:为 .NET 的 preview、RC 或 GA 发布里程碑生成权威的 changes.json,作为发布说明流水线的数据采集阶段。

主要能力:判断当前活跃的里程碑(可能同时存在多个 preview);解析正确的 --base 与 --head ref;运行 release-notes generate changes;将 changes.json 写入正确的 release-notes/ 目录。

使用时机:新里程碑需要最新已发布变更数据;需确认是否有多个 preview 里程碑同时活跃;VMR 前进后需刷新发布说明分支;changes.json 缺失、过期或 ref 选择可疑。

ref 选择规则:里程碑 N 已有 tag 时,base 用 N-1 的 tag,head 用 N 的 tag;N 有 release 分支但无 tag 时,base 用 N-1 的 tag,head 用 release 分支 tip;N 仅在 main 上时,base 用 N-1 的 tag,head 用 main。关键规则:若 main 已推进到 N+1,绝不能用 main 作为里程碑 N 的 head。

输入:目标发布(如 .NET 11 Preview 4)、VMR 克隆路径(默认 dotnet/dotnet 本地克隆),可选已知的精确 ref。未指定里程碑时,可从 releases.json、VMR main 的 eng/Versions.props、匹配的 preview tag 与 release 分支推断。

流程:先从 releases.json 确定最新已发布里程碑作为下限;检查 VMR 的 eng/Versions.props、tag 与 release 分支;为每个活跃里程碑解析 base/head;再执行命令:release-notes generate changes <vmr-clone-path> --base <previous-release-tag> --head <current-release-ref> --version "<release-version>" --date "<yyyy-mm-dd>" --labels --output release-notes/<major.minor>/<milestone-path>/changes.json。

输出契约:文件须符合 changes-schema.md,包含顶层 release_version、release_date、changes、commits,id 使用 repo@shortcommit 格式。生成后通常下一步是 generate-features。

限制:资料未提供安装方式、依赖版本、错误处理与权限要求等细节。