From 75d4ffee522c52fb1f037402b631c17f56956f5a Mon Sep 17 00:00:00 2001 From: juice094 <160722440+juice094@users.noreply.github.com> Date: Fri, 15 May 2026 11:45:05 +0800 Subject: [PATCH] ci(release): auto-create GitHub Release on tag push Add create-release job that runs before build jobs. Uses gh release view/create with --generate-notes for idempotency. Removes manual release creation step from release workflow. --- .github/workflows/release.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 152153b..b1eaeb6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,8 +12,28 @@ permissions: contents: write jobs: + create-release: + name: Create GitHub Release + runs-on: ubuntu-latest + steps: + - name: Create release if not exists + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + version="${{ github.ref_name }}" + repo="${{ github.repository }}" + if ! gh release view "$version" --repo "$repo" > /dev/null 2>&1; then + gh release create "$version" \ + --repo "$repo" \ + --generate-notes \ + --title "$version" + else + echo "Release $version already exists." + fi + build-windows: name: Build Windows Release + needs: create-release runs-on: windows-latest steps: - uses: actions/checkout@v6 @@ -58,6 +78,7 @@ jobs: build-linux: name: Build Linux Release + needs: create-release runs-on: ubuntu-latest steps: - uses: actions/checkout@v6