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
This commit is contained in:
10
.github/workflows/release.yml
vendored
10
.github/workflows/release.yml
vendored
@@ -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 }}
|
||||
|
||||
Reference in New Issue
Block a user