From 0afd030ee4c4c41bf0e699ca1eed6079dc1ca5f6 Mon Sep 17 00:00:00 2001 From: "peng.li24" <734991033@qq.com> Date: Mon, 14 Sep 2026 18:53:13 +0800 Subject: [PATCH] =?UTF-8?q?ci(release):=20=E5=8A=A0=20workflow=5Fdispatch?= =?UTF-8?q?=20=E6=89=8B=E5=8A=A8=E9=87=8D=E8=B7=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 排障用:tag 已存在但 release 缺失时,删 tag 再推同 sha 不会重新触发。 (同 slotsboxmalloc 的处理。) Co-Authored-By: Claude Code --- .github/workflows/release.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 410d952..59de6f7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,6 +2,12 @@ name: release-abi on: push: tags: ['v*'] + # 手动重跑(tag 已存在但 release 缺失时用;tag 删+重建同 sha 不会重新触发) + workflow_dispatch: + inputs: + tag: + description: 要发布的 tag(须已存在,如 v0.2.18) + required: true permissions: contents: write jobs: @@ -9,8 +15,10 @@ jobs: runs-on: ubuntu-latest env: GH_TOKEN: ${{ github.token }} + RELEASE_TAG: ${{ inputs.tag || github.ref_name }} steps: - uses: actions/checkout@v4 + with: { ref: "${{ inputs.tag || github.ref }}" } - name: 下载 ABI 依赖 env: { GH_TOKEN: "${{ secrets.GITHUB_TOKEN }}" } run: ./ci/deps.sh @@ -19,7 +27,7 @@ jobs: - name: 打包 ABI 产物 run: | set -euo pipefail - v="${GITHUB_REF_NAME}" + v="${RELEASE_TAG:-${GITHUB_REF_NAME}}" d="kvspace-c-abi-$v-linux-x86_64" mkdir -p "$d/include" "$d/lib" # 头:本仓无公共头(内部头在 src/),权威 ABI 头在 kvspace 仓 → 递归整目录 @@ -32,4 +40,4 @@ jobs: tar czf "$d.tar.gz" "$d" sha256sum "$d.tar.gz" > SHA256SUMS - name: 发布 release - run: gh release create "${GITHUB_REF_NAME}" kvspace-c-abi-*.tar.gz SHA256SUMS --generate-notes + run: gh release create "${RELEASE_TAG:-${GITHUB_REF_NAME}}" kvspace-c-abi-*.tar.gz SHA256SUMS --generate-notes