fix(ci): 修复发布正文提取的多行 sed 写法导致的 workflow 解析失败

sed 的 \n 转义在生成文件时被展开为真实换行,把 notes 提取命令劈成
两行,GitHub 判定 workflow 文件无效(startup_failure)。改用单行
awk 剥签名块与空行,语义不变。
This commit is contained in:
2026-10-01 15:59:09 +08:00
parent b23c0039db
commit 2330d362f6
+2 -4
View File
@@ -180,10 +180,8 @@ jobs:
VER: ${{ needs.meta.outputs.version }}
run: |
set -euo pipefail
# 发布正文优先取附注 tag 的 message(剥掉签名块),无附注时回退自动生成
notes="$(git tag -l --format='%(contents)' "$VER" | sed '/^-----BEGIN PGP SIGNATURE----$/,/^-----END PGP SIGNATURE----$/d' || true)"
notes="$(echo "$notes" | sed -e '/^[[:space:]]*$/d' | sed -e ':a;N;$!ba;s/
$//')"
# 发布正文优先取附注 tag 的 message(awk 剥掉签名块与空行)
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} 已存在,覆盖上传资产"
if [ -n "$notes" ]; then