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 }}