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