All checks were successful
Create Release / build (push) Successful in 3s
Replace hardcoded version with {auto_update_value_on_deploy} placeholder that gets replaced during the Gitea workflow build process.
Changes:
- Updated Version comment to use placeholder
- Updated TWP_VERSION constant to use placeholder
- Modified release workflow to replace both instances of the placeholder
This matches the pattern used in the fourthwall plugin and ensures the version is automatically set during the release build process.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
83 lines
3.0 KiB
YAML
83 lines
3.0 KiB
YAML
name: Create Release
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
username: ${{ secrets.CI_USER }}
|
|
password: ${{ secrets.CI_TOKEN }}
|
|
fetch-depth: 0 # Important: Fetch all history for commit messages
|
|
|
|
- name: Get version
|
|
id: get_version
|
|
run: |
|
|
if [ "${{ github.ref_type }}" = "tag" ]; then
|
|
echo "version=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "version=$(date +'%Y.%m.%d-%H%M')" >> $GITHUB_OUTPUT
|
|
fi
|
|
|
|
- name: Generate release notes
|
|
id: release_notes
|
|
run: |
|
|
# Find the most recent tag
|
|
LATEST_TAG=$(git describe --tags --abbrev=0 --always 2>/dev/null || echo "none")
|
|
|
|
if [ "$LATEST_TAG" = "none" ]; then
|
|
# If no previous tag exists, get all commits
|
|
COMMITS=$(git log --pretty=format:"* %s (%h)" --no-merges)
|
|
else
|
|
# Get commits since the last tag
|
|
COMMITS=$(git log --pretty=format:"* %s (%h)" ${LATEST_TAG}..HEAD --no-merges)
|
|
fi
|
|
|
|
# Create release notes with header (without encoding newlines)
|
|
echo "notes<<EOF" >> $GITHUB_OUTPUT
|
|
echo "## What's New in ${{ steps.get_version.outputs.version }}" >> $GITHUB_OUTPUT
|
|
echo "" >> $GITHUB_OUTPUT
|
|
echo "$COMMITS" >> $GITHUB_OUTPUT
|
|
echo "EOF" >> $GITHUB_OUTPUT
|
|
|
|
- name: Update plugin version
|
|
run: |
|
|
# Replace version placeholder with actual version
|
|
sed -i "s/Version: {auto_update_value_on_deploy}/Version: ${{ steps.get_version.outputs.version }}/" twilio-wp-plugin.php
|
|
sed -i "s/TWP_VERSION', '{auto_update_value_on_deploy}/TWP_VERSION', '${{ steps.get_version.outputs.version }}/" twilio-wp-plugin.php
|
|
|
|
# Verify the changes were made
|
|
grep "Version:" twilio-wp-plugin.php
|
|
grep "TWP_VERSION" twilio-wp-plugin.php
|
|
|
|
- name: Create ZIP archive
|
|
run: |
|
|
# Create a temp directory with the correct plugin folder name
|
|
mkdir -p /tmp/twilio-wp-plugin
|
|
|
|
# Copy files to the temp directory (excluding git and other unnecessary files)
|
|
cp -r * /tmp/twilio-wp-plugin/ 2>/dev/null || true
|
|
|
|
# Exclude .git and .gitea directories
|
|
rm -rf /tmp/twilio-wp-plugin/.git /tmp/twilio-wp-plugin/.gitea 2>/dev/null || true
|
|
|
|
# Create the ZIP file with the proper structure
|
|
cd /tmp
|
|
zip -r $GITHUB_WORKSPACE/twilio-wp-plugin.zip twilio-wp-plugin
|
|
|
|
- name: Create Release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
token: "${{ secrets.REPO_TOKEN }}"
|
|
title: "Twilio WP Plugin Release ${{ steps.get_version.outputs.version }}"
|
|
tag_name: ${{ steps.get_version.outputs.version }}
|
|
body: "${{ steps.release_notes.outputs.notes }}"
|
|
files: |
|
|
twilio-wp-plugin.zip
|