Skip to content

version 2.7.4 released #3

version 2.7.4 released

version 2.7.4 released #3

Workflow file for this run

name: Deploy to WordPress.org
on:
push:
tags:
- "*"
jobs:
tag:
name: New tag
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Debug File List
run: ls -R
- name: Install SVN (Subversion)
run: |
sudo apt-get update
sudo apt-get install subversion
- name: Find Readme File
id: find_readme
run: |
readme_file=$(find . -type f -iname "readme.*" | head -n 1)
if [ -n "$readme_file" ]; then
echo "Readme file found: $readme_file"
echo "readme_file=$readme_file" >> $GITHUB_ENV
else
echo "::error::Readme file not found."
exit 1
fi
- name: Extract Release Notes
id: release_notes
run: |
changelog_section_start="== Changelog =="
current_tag="${{ github.ref_name }}"
readme_file="${{ env.readme_file }}"
# Extract the version (strip 'refs/tags/' if it exists)
version=${current_tag#refs/tags/}
# Read lines from the changelog section
in_changelog=0
release_notes=""
capturing_version=0
while IFS= read -r line; do
# Start capturing after finding the changelog section
if [[ "$line" == "$changelog_section_start" ]]; then
in_changelog=1
continue
fi
# Stop capturing if we encounter a new version or the end of the file
if [[ $in_changelog -eq 1 && "$line" =~ ^= ]]; then
# Check if this is the current version
if [[ "$line" == "= $version =" ]]; then
capturing_version=1
elif [[ $capturing_version -eq 1 ]]; then
# Stop if we see the next version
break
fi
fi
# Capture lines only for the current version
if [[ $capturing_version -eq 1 && -n "$line" ]]; then
release_notes+="$line\n"
fi
done < "$readme_file"
if [[ -z "$release_notes" ]]; then
echo "::error::Failed to extract release notes for version $version."
exit 1
fi
# Debug: Print extracted release notes
echo "Extracted release notes for version $version:"
printf "%b" "$release_notes"
# Set output
echo "::set-output name=notes::$(printf "%b" "$release_notes")"
- name: Debug Release Notes
run: |
echo "Debugging Release Notes:"
echo "${{ steps.release_notes.outputs.notes }}"
- name: WordPress Plugin Deploy
id: deploy
uses: 10up/action-wordpress-plugin-deploy@stable
with:
generate-zip: true
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.ref_name }}
body: ${{ steps.release_notes.outputs.notes }}
files: ${{github.workspace}}/${{ github.event.repository.name }}.zip
env:
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}