v0.8.5
0.8.5 (2026-08-24)
🐛 Bug Fixes
- ci: enrich-release 在 CI 里静默失效 —— shallow clone 拿不到上一个 tag (95947f9)
详细说明 —— 每条改动的现象 / 根因 / 实测数字(1 条)
fix(ci): enrich-release 在 CI 里静默失效 —— shallow clone 拿不到上一个 tag
v0.8.4 是第一个应该自动补 Release notes 的版本,结果一个字没补:步骤跑了、
退出码 0、日志里写着「区间内没有带 body 的 commit,无需补充」。
根因:actions/checkout@v4 默认 fetch-depth: 1,只有一个 commit。于是
git describe --tags --abbrev=0 <tag>^ 失败 → prev 为 null → 区间退化成
只含那一个 release commit → 而它正好被脚本按「chore(main): release」过滤掉
→ 空集合 → 「无需补充」正常退出。
每一步都"正常",合起来什么也没做。 这类静默失效比报错难查得多。
两处都修:
· publish.yml 的 checkout 加 fetch-depth: 0 + fetch-tags: true
· 脚本不再静默退化:拿不到上一个 tag 时先看 git tag -l 有几个 ——
只有 1 个才是真的「首个 release」,多于 1 个就是历史不全,直接 exit 1
并提示去加 fetch-depth。宁可硬失败也不静默通过。
已本地回填 v0.8.4(2 条)。
Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com
95947f9