From 9bdd433a4ba01241eb20f568bbf091e71af52560 Mon Sep 17 00:00:00 2001 From: Psychotoxical Date: Sun, 15 Mar 2026 12:14:22 +0100 Subject: [PATCH] =?UTF-8?q?ci:=20upsert=20release=20=E2=80=94=20reuse=20ex?= =?UTF-8?q?isting=20release=20if=20tag=20already=20exists?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/release.yml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 79caae23..b0eb97e7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,16 +29,27 @@ jobs: PACKAGE_VERSION: ${{ steps.get-version.outputs.version }} with: script: | + const tag = `app-v${process.env.PACKAGE_VERSION}`; + try { + const { data } = await github.rest.repos.getReleaseByTag({ + owner: context.repo.owner, + repo: context.repo.repo, + tag, + }); + return data.id; + } catch (e) { + if (e.status !== 404) throw e; + } const { data } = await github.rest.repos.createRelease({ owner: context.repo.owner, repo: context.repo.repo, - tag_name: `app-v${process.env.PACKAGE_VERSION}`, + tag_name: tag, name: `Psysonic v${process.env.PACKAGE_VERSION}`, body: 'See the assets to download this version and install.', draft: false, prerelease: false - }) - return data.id + }); + return data.id; build-macos-windows: needs: create-release