From b5d9f254c70870f1212dcd8bc71c86f114e2e2f6 Mon Sep 17 00:00:00 2001 From: kilyabin <65072190+kilyabin@users.noreply.github.com> Date: Tue, 10 Mar 2026 01:15:59 +0400 Subject: [PATCH] feat: support tag-based releases - Trigger on both push to main and v* tags - Use tag name for version when pushing tags (e.g., v2.0.0) - Auto-generate version for branch pushes - Tag releases are stable, branch releases are prerelease --- .github/workflows/release.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0b86773..4ba6340 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,6 +3,8 @@ name: Build & Release on: push: branches: ["main"] + tags: + - "v*" permissions: contents: write @@ -60,7 +62,11 @@ jobs: - name: Generate version from commit id: version run: | - VERSION="v$(date +%Y.%m.%d)-$(git rev-parse --short HEAD)" + if [[ $GITHUB_REF == refs/tags/v* ]]; then + VERSION="${GITHUB_REF#refs/tags/}" + else + VERSION="v$(date +%Y.%m.%d)-$(git rev-parse --short HEAD)" + fi echo "version=$VERSION" >> $GITHUB_OUTPUT echo "Generated version: $VERSION" @@ -96,4 +102,4 @@ jobs: files: artifacts/* generate_release_notes: true draft: false - prerelease: true + prerelease: ${{ startsWith(github.ref, 'refs/tags/') && false || true }}