From 0406dee7a4f81912dea942f0f34f3a40327a7fb2 Mon Sep 17 00:00:00 2001 From: JoeAllen <2494136784@qq.com> Date: Thu, 1 Oct 2026 16:14:10 +0800 Subject: [PATCH] =?UTF-8?q?fix(ci):=20=E5=8F=91=E5=B8=83=E5=89=8D=E6=98=BE?= =?UTF-8?q?=E5=BC=8F=E6=8B=89=E5=8F=96=E9=99=84=E6=B3=A8=20tag=20=E5=AF=B9?= =?UTF-8?q?=E8=B1=A1=EF=BC=8C=E4=BF=9D=E8=AF=81=E5=8F=91=E5=B8=83=E6=AD=A3?= =?UTF-8?q?=E6=96=87=E5=8F=96=E8=87=AA=20tag=20message?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit actions/checkout 会把 tag 在本地重建为轻量 tag,%(contents) 退化为 commit message(首发的发布正文因此变成了修复提交的信息)。发布步骤 先 git fetch 显式拉取 tag 对象再提取附注。 --- .github/workflows/release.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cf6ccb0..bd19737 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -180,7 +180,9 @@ jobs: VER: ${{ needs.meta.outputs.version }} run: | set -euo pipefail - # 发布正文优先取附注 tag 的 message(awk 剥掉签名块与空行) + # 发布正文优先取附注 tag 的 message。actions/checkout 会把 tag 重建为 + # 轻量 tag(%(contents) 退化成 commit message),这里显式拉取 tag 对象 + git fetch -q origin "refs/tags/$VER:refs/tags/$VER" --force --no-tags notes="$(git for-each-ref "refs/tags/$VER" --format='%(contents)' | awk '/^-----BEGIN PGP SIGNATURE----$/{sig=1} !sig' | awk 'NF')" if gh release view "$VER" -R "$GITHUB_REPOSITORY" >/dev/null 2>&1; then echo "Release ${VER} 已存在,覆盖上传资产"