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 }}
|
VER: ${{ needs.meta.outputs.version }}
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
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')"
|
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
|
if gh release view "$VER" -R "$GITHUB_REPOSITORY" >/dev/null 2>&1; then
|
||||||
echo "Release ${VER} 已存在,覆盖上传资产"
|
echo "Release ${VER} 已存在,覆盖上传资产"
|
||||||
|
|||||||
Reference in New Issue
Block a user