@@ -22,31 +22,31 @@ jobs:
2222 with :
2323 fetch-depth : 0
2424
25- - name : Set plugin name
26- id : plugin_name
27- run : |
28- PLUGIN_SLUG="${{ github.event.repository.name }}"
29- PLUGIN_FILE="${PLUGIN_SLUG}.php"
30- # Convert kebab-case to Title Case for display
31- PLUGIN_NAME=$(echo "$PLUGIN_SLUG" | sed 's/-/ /g' | sed 's/\b\w/\U&/g')
32- echo "plugin_slug=$PLUGIN_SLUG" >> $GITHUB_OUTPUT
33- echo "plugin_file=$PLUGIN_FILE" >> $GITHUB_OUTPUT
25+ - name : Set plugin name
26+ id : plugin_name
27+ run : |
28+ PLUGIN_SLUG="${{ github.event.repository.name }}"
29+ PLUGIN_FILE="${PLUGIN_SLUG}.php"
30+ # Convert kebab-case to Title Case for display
31+ PLUGIN_NAME=$(echo "$PLUGIN_SLUG" | sed 's/-/ /g' | sed 's/\b\w/\U&/g')
32+ echo "plugin_slug=$PLUGIN_SLUG" >> $GITHUB_OUTPUT
33+ echo "plugin_file=$PLUGIN_FILE" >> $GITHUB_OUTPUT
3434 echo "plugin_name=$PLUGIN_NAME" >> $GITHUB_OUTPUT
3535
36- - name : Validate tag and plugin version alignment
37- id : version_check
38- run : |
39- TAG_REF="${GITHUB_REF#refs/tags/}"
40- # Strip leading v if present
41- if [[ "$TAG_REF" =~ ^v ]]; then TAG_STRIPPED=${TAG_REF#v}; else TAG_STRIPPED=$TAG_REF; fi
42- # Extract Version from plugin header (first match)
43- PLUGIN_VERSION=$(grep -E "^[[:space:]]*\*[[:space:]]*Version:" ${{ steps.plugin_name.outputs.plugin_file }} | head -n1 | sed -E 's/.*Version:[[:space:]]*([^ ]+).*/\1/')
44- echo "Tag: $TAG_REF";
45- echo "Stripped Tag: $TAG_STRIPPED";
46- echo "Plugin Version: $PLUGIN_VERSION";
47- if [ -z "$PLUGIN_VERSION" ]; then echo "Could not determine plugin version from ${{ steps.plugin_name.outputs.plugin_file }}"; exit 1; fi
48- if [ "$PLUGIN_VERSION" != "$TAG_STRIPPED" ]; then echo "Version mismatch: tag ($TAG_STRIPPED) != plugin header ($PLUGIN_VERSION)"; exit 1; fi
49- echo "version=$PLUGIN_VERSION" >> $GITHUB_OUTPUT
36+ - name : Validate tag and plugin version alignment
37+ id : version_check
38+ run : |
39+ TAG_REF="${GITHUB_REF#refs/tags/}"
40+ # Strip leading v if present
41+ if [[ "$TAG_REF" =~ ^v ]]; then TAG_STRIPPED=${TAG_REF#v}; else TAG_STRIPPED=$TAG_REF; fi
42+ # Extract Version from plugin header (first match)
43+ PLUGIN_VERSION=$(grep -E "^[[:space:]]*\*[[:space:]]*Version:" ${{ steps.plugin_name.outputs.plugin_file }} | head -n1 | sed -E 's/.*Version:[[:space:]]*([^ ]+).*/\1/')
44+ echo "Tag: $TAG_REF";
45+ echo "Stripped Tag: $TAG_STRIPPED";
46+ echo "Plugin Version: $PLUGIN_VERSION";
47+ if [ -z "$PLUGIN_VERSION" ]; then echo "Could not determine plugin version from ${{ steps.plugin_name.outputs.plugin_file }}"; exit 1; fi
48+ if [ "$PLUGIN_VERSION" != "$TAG_STRIPPED" ]; then echo "Version mismatch: tag ($TAG_STRIPPED) != plugin header ($PLUGIN_VERSION)"; exit 1; fi
49+ echo "version=$PLUGIN_VERSION" >> $GITHUB_OUTPUT
5050
5151 - name : Ensure composer.lock is present
5252 run : |
@@ -117,26 +117,26 @@ jobs:
117117 - name : Install SVN (Subversion)
118118 run : |
119119 sudo apt-get update -y
120- sudo apt-get install -y subversion
121-
122- - name : WordPress Plugin Deploy
123- id : deploy
124- uses : 10up/action-wordpress-plugin-deploy@stable
125- with :
126- generate-zip : true
127- env :
128- SVN_USERNAME : ${{ secrets.SVN_USERNAME }}
129- SVN_PASSWORD : ${{ secrets.SVN_PASSWORD }}
130- SLUG : ${{ steps.plugin_name.outputs.plugin_slug }}
131-
132- - name : Create GitHub release
133- uses : softprops/action-gh-release@v2
134- with :
135- tag_name : ${{ github.ref_name }}
136- name : Release ${{ steps.version_check.outputs.version }}
137- body : |
138- Release ${{ steps.version_check.outputs.version }} of ${{ steps.plugin_name.outputs.plugin_name }}.
139- Refer to CHANGELOG.md for full details.
140- files : ${{ steps.deploy.outputs.zip-path }}
141- env :
142- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
120+ sudo apt-get install -y subversion
121+
122+ - name : WordPress Plugin Deploy
123+ id : deploy
124+ uses : 10up/action-wordpress-plugin-deploy@stable
125+ with :
126+ generate-zip : true
127+ env :
128+ SVN_USERNAME : ${{ secrets.SVN_USERNAME }}
129+ SVN_PASSWORD : ${{ secrets.SVN_PASSWORD }}
130+ SLUG : ${{ steps.plugin_name.outputs.plugin_slug }}
131+
132+ - name : Create GitHub release
133+ uses : softprops/action-gh-release@v2
134+ with :
135+ tag_name : ${{ github.ref_name }}
136+ name : Release ${{ steps.version_check.outputs.version }}
137+ body : |
138+ Release ${{ steps.version_check.outputs.version }} of ${{ steps.plugin_name.outputs.plugin_name }}.
139+ Refer to CHANGELOG.md for full details.
140+ files : ${{ steps.deploy.outputs.zip-path }}
141+ env :
142+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments