feat: auto-release on every push to main

- Trigger release workflow on push to main branch
- Auto-generate version from date + commit hash (e.g., v2026.03.10-abc1234)
- Delete previous draft releases to avoid accumulation
- Publish releases automatically (not as drafts)
- Mark releases as prerelease
This commit is contained in:
kilyabin
2026-03-10 01:14:51 +04:00
parent f459969313
commit b5022bf565

View File

@@ -2,8 +2,7 @@ name: Build & Release
on: on:
push: push:
tags: branches: ["main"]
- "v*"
permissions: permissions:
contents: write contents: write
@@ -55,6 +54,15 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Generate version from commit
id: version
run: |
VERSION="v$(date +%Y.%m.%d)-$(git rev-parse --short HEAD)"
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Generated version: $VERSION"
- name: Download all artifacts - name: Download all artifacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v4
@@ -75,9 +83,17 @@ jobs:
done done
ls -la ls -la
- name: Delete existing draft release
uses: hugo19941951/delete-draft-releases@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create Release - name: Create Release
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1
with: with:
tag_name: ${{ steps.version.outputs.version }}
name: Release ${{ steps.version.outputs.version }}
files: artifacts/* files: artifacts/*
generate_release_notes: true generate_release_notes: true
draft: true draft: false
prerelease: true