From eec6d62c202397c2fc6a4b6028409c2884be6585 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 3 Sep 2026 13:56:32 +0000 Subject: [PATCH] ci: release automatically when master carries an unreleased package.json version On push to master the workflow now checks whether tag v exists and, if not, creates the tag and the GitHub release with the Windows installer. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_017Wn5VX9HNbJ7N54hR24u9Y --- .github/workflows/windows-release.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/windows-release.yml b/.github/workflows/windows-release.yml index 9a9dd6a..03d93af 100644 --- a/.github/workflows/windows-release.yml +++ b/.github/workflows/windows-release.yml @@ -42,7 +42,14 @@ jobs: - name: Read version id: ver shell: bash - run: echo "version=$(node -p "require('./package.json').version")" >> "$GITHUB_OUTPUT" + run: | + version=$(node -p "require('./package.json').version") + echo "version=$version" >> "$GITHUB_OUTPUT" + if git ls-remote --exit-code --tags origin "refs/tags/v$version" >/dev/null 2>&1; then + echo "released=true" >> "$GITHUB_OUTPUT" + else + echo "released=false" >> "$GITHUB_OUTPUT" + fi - run: npm run build - name: Package Windows EXE run: npx electron-builder --win --publish never @@ -57,7 +64,7 @@ jobs: out/latest.yml if-no-files-found: error - name: Publish GitHub release - if: startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch' + if: startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch' || (github.event_name == 'push' && github.ref == 'refs/heads/master' && steps.ver.outputs.released == 'false') uses: softprops/action-gh-release@v2 with: tag_name: v${{ steps.ver.outputs.version }}