mirror of
https://github.com/antebudimir/eslint-plugin-vanilla-extract.git
synced 2025-12-31 08:53:33 +00:00
chore 🔧: improve GitHub Actions workflow for release creation
- Fix workflow triggers to support both manual runs and tag pushes - Add conditional logic to handle different event types - Skip already existing releases to prevent errors - Add completion messages for better feedback - Improve error handling for the release creation process
This commit is contained in:
parent
1092b47f1c
commit
d2b62d3995
4 changed files with 45 additions and 8 deletions
43
.github/workflows/create-releases.yml
vendored
43
.github/workflows/create-releases.yml
vendored
|
|
@ -2,6 +2,9 @@ name: Create Releases from Tags
|
|||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
create-releases:
|
||||
|
|
@ -15,10 +18,9 @@ jobs:
|
|||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
# Get all tags sorted by version
|
||||
TAGS=$(git tag -l | sort -V)
|
||||
|
||||
for TAG in $TAGS; do
|
||||
if [[ "${{ github.event_name }}" == "push" && "${{ github.ref_type }}" == "tag" ]]; then
|
||||
# For tag push events, only create release for the pushed tag
|
||||
TAG="${{ github.ref_name }}"
|
||||
VERSION=${TAG#v} # Remove 'v' prefix
|
||||
|
||||
# Extract changelog entry for this version
|
||||
|
|
@ -29,4 +31,35 @@ jobs:
|
|||
--title "Release $TAG" \
|
||||
--notes "$BODY" \
|
||||
--repo ${{ github.repository }}
|
||||
done
|
||||
|
||||
echo "✅ Successfully created release for $TAG"
|
||||
else
|
||||
# For manual workflow runs, check each tag
|
||||
# Get all tags sorted by version
|
||||
TAGS=$(git tag -l | sort -V)
|
||||
|
||||
for TAG in $TAGS; do
|
||||
VERSION=${TAG#v} # Remove 'v' prefix
|
||||
|
||||
# Check if release already exists
|
||||
if ! gh release view $TAG --repo ${{ github.repository }} &>/dev/null; then
|
||||
# Extract changelog entry for this version
|
||||
BODY=$(sed -n "/## \[$VERSION\]/,/## \[/p" CHANGELOG.md | sed '$d')
|
||||
|
||||
# Create GitHub release
|
||||
gh release create $TAG \
|
||||
--title "Release $TAG" \
|
||||
--notes "$BODY" \
|
||||
--repo ${{ github.repository }}
|
||||
|
||||
echo "Created release for $TAG"
|
||||
else
|
||||
echo "Release for $TAG already exists, skipping"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "🎉 Workflow completed successfully! All releases have been processed."
|
||||
fi
|
||||
|
||||
- name: Completion Message
|
||||
run: echo "🚀 Release creation process has finished!"
|
||||
|
|
|
|||
|
|
@ -5,9 +5,13 @@ All notable changes to this project will be documented in this file.
|
|||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [1.4.4] - 2025-03-10
|
||||
|
||||
- Improve GitHub Actions workflow for release creation ()
|
||||
|
||||
## [1.4.3] - 2025-03-10
|
||||
|
||||
- Add coverage for shared utility functions ()
|
||||
- Add coverage for shared utility functions (1092b47)
|
||||
|
||||
## [1.4.2] - 2025-03-09
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@antebudimir/eslint-plugin-vanilla-extract",
|
||||
"version": "1.4.3",
|
||||
"version": "1.4.4",
|
||||
"description": "ESLint plugin for enforcing best practices in vanilla-extract CSS styles, including CSS property ordering and additional linting rules.",
|
||||
"author": "Ante Budimir",
|
||||
"license": "MIT",
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import customOrderRule from './css-rules/custom-order/rule-definition.js';
|
|||
export const vanillaExtract = {
|
||||
meta: {
|
||||
name: '@antebudimir/eslint-plugin-vanilla-extract',
|
||||
version: '1.4.3',
|
||||
version: '1.4.4',
|
||||
},
|
||||
rules: {
|
||||
'alphabetical-order': alphabeticalOrderRule,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue