From 2330d362f6c122b2f5a455d6293cc93ce1f69703 Mon Sep 17 00:00:00 2001 From: JoeAllen <2494136784@qq.com> Date: Thu, 1 Oct 2026 15:59:09 +0800 Subject: [PATCH] =?UTF-8?q?fix(ci):=20=E4=BF=AE=E5=A4=8D=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E6=AD=A3=E6=96=87=E6=8F=90=E5=8F=96=E7=9A=84=E5=A4=9A=E8=A1=8C?= =?UTF-8?q?=20sed=20=E5=86=99=E6=B3=95=E5=AF=BC=E8=87=B4=E7=9A=84=20workfl?= =?UTF-8?q?ow=20=E8=A7=A3=E6=9E=90=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sed 的 \n 转义在生成文件时被展开为真实换行,把 notes 提取命令劈成 两行,GitHub 判定 workflow 文件无效(startup_failure)。改用单行 awk 剥签名块与空行,语义不变。 --- .github/workflows/release.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d77fbfc..cf6ccb0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -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