fix(ci): 发布前显式拉取附注 tag 对象,保证发布正文取自 tag message
actions/checkout 会把 tag 在本地重建为轻量 tag,%(contents) 退化为 commit message(首发的发布正文因此变成了修复提交的信息)。发布步骤 先 git fetch 显式拉取 tag 对象再提取附注。
This commit is contained in:
@@ -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} 已存在,覆盖上传资产"
|
||||
|
||||
Reference in New Issue
Block a user