✨feature: Add release action
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v[0-9]*.[0-9]*'
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
release:
|
||||
name: Build & Release
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: '8.2'
|
||||
tools: composer
|
||||
|
||||
- name: Install Composer dependencies (production only)
|
||||
run: composer install --no-dev --optimize-autoloader --prefer-dist
|
||||
|
||||
- name: Extract version
|
||||
id: version
|
||||
run: echo "version=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Stage plugin files
|
||||
run: |
|
||||
mkdir -p /tmp/logo-soup
|
||||
|
||||
# Core files
|
||||
cp logo-soup.php /tmp/logo-soup/
|
||||
cp uninstall.php /tmp/logo-soup/
|
||||
cp README.md /tmp/logo-soup/
|
||||
cp readme.txt /tmp/logo-soup/
|
||||
cp CHANGELOG.md /tmp/logo-soup/
|
||||
cp LICENSE /tmp/logo-soup/
|
||||
|
||||
# Required directories
|
||||
cp -r src /tmp/logo-soup/
|
||||
cp -r blocks /tmp/logo-soup/
|
||||
cp -r vendor /tmp/logo-soup/
|
||||
|
||||
# Optional directories (included when present)
|
||||
[ -d assets ] && cp -r assets /tmp/logo-soup/ || true
|
||||
[ -d languages ] && cp -r languages /tmp/logo-soup/ || true
|
||||
|
||||
- name: Create zip
|
||||
id: zip
|
||||
run: |
|
||||
cd /tmp
|
||||
zip -r "logo-soup-v${{ steps.version.outputs.version }}.zip" logo-soup/
|
||||
echo "zip_path=/tmp/logo-soup-v${{ steps.version.outputs.version }}.zip" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Create GitHub Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
name: ${{ github.ref_name }}
|
||||
body_path: CHANGELOG.md
|
||||
files: ${{ steps.zip.outputs.zip_path }}
|
||||
draft: false
|
||||
prerelease: false
|
||||
Reference in New Issue
Block a user