Skip to content

Commit a131366

Browse files
committed
workflow updated
1 parent 27a4968 commit a131366

1 file changed

Lines changed: 93 additions & 14 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 93 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
sudo apt-get install subversion
2323
2424
# -------------------------------------------
25-
# KEEPING YOUR EXISTING README-FINDING LOGIC
25+
# KEEPING EXISTING README-FINDING LOGIC
2626
# -------------------------------------------
2727
- name: Find Readme File
2828
id: find_readme
@@ -37,7 +37,7 @@ jobs:
3737
fi
3838
3939
# -------------------------------------------
40-
# KEEPING YOUR EXISTING RELEASE NOTES LOGIC
40+
# KEEPING EXISTING RELEASE NOTES LOGIC
4141
# -------------------------------------------
4242
- name: Extract Release Notes
4343
id: release_notes
@@ -81,27 +81,79 @@ jobs:
8181
echo "EOF" >> $GITHUB_OUTPUT
8282
8383
# -------------------------------------------
84-
# BEGIN CUSTOM SVN DEPLOY LOGIC
84+
# CUSTOM SVN DEPLOY LOGIC
8585
# -------------------------------------------
8686
- name: Checkout WP.org SVN
8787
run: |
8888
svn co https://plugins.svn.wordpress.org/${{ github.event.repository.name }}/ svn-wp
8989
90-
- name: Copy plugin files to trunk (excluding readme.txt)
90+
- name: Clean trunk
9191
run: |
9292
rm -rf svn-wp/trunk/*
93-
rsync -av --exclude='readme.txt' --exclude='svn-wp' ./ svn-wp/trunk/
93+
mkdir -p svn-wp/trunk
9494
95+
# -------------------------------------------
96+
# Copy vendor WITHOUT autoload.php
97+
# -------------------------------------------
98+
- name: Copy vendor folder (excluding autoload.php)
99+
run: |
100+
if [ -d "vendor" ]; then
101+
mkdir -p svn-wp/trunk/vendor
102+
rsync -av \
103+
--exclude='autoload.php' \
104+
./vendor/ svn-wp/trunk/vendor/
105+
fi
106+
107+
# -------------------------------------------
108+
# Commit vendor folders one-by-one
109+
# -------------------------------------------
110+
- name: Commit vendor subfolders
111+
run: |
112+
if [ -d "svn-wp/trunk/vendor" ]; then
113+
cd svn-wp/trunk/vendor
114+
115+
for dir in */; do
116+
echo "Processing vendor folder: $dir"
95117
96-
- name: Commit trunk update
118+
cd "$dir"
119+
svn add --force .
120+
svn status
121+
122+
svn commit -m "Add vendor folder: ${dir%/} for version ${{ github.ref_name }}" \
123+
--username "${{ secrets.SVN_USERNAME }}" \
124+
--password "${{ secrets.SVN_PASSWORD }}" \
125+
|| echo "Nothing to commit for $dir"
126+
127+
cd ..
128+
done
129+
fi
130+
131+
# -------------------------------------------
132+
# Copy remaining plugin files (excluding readme.txt + vendor)
133+
# -------------------------------------------
134+
- name: Copy remaining plugin files
135+
run: |
136+
rsync -av \
137+
--exclude='vendor' \
138+
--exclude='readme.txt' \
139+
--exclude='svn-wp' \
140+
./ svn-wp/trunk/
141+
142+
# -------------------------------------------
143+
# Commit remaining plugin files
144+
# -------------------------------------------
145+
- name: Commit the rest of the plugin files
97146
run: |
98147
cd svn-wp
99148
svn add --force trunk
100149
svn status
101-
svn commit -m "Update trunk for version ${{ github.ref_name }}" \
150+
svn commit -m "Add remaining plugin files for version ${{ github.ref_name }}" \
102151
--username "${{ secrets.SVN_USERNAME }}" \
103152
--password "${{ secrets.SVN_PASSWORD }}"
104153
154+
# -------------------------------------------
155+
# Create the tag from trunk
156+
# -------------------------------------------
105157
- name: Create new SVN tag
106158
run: |
107159
version="${GITHUB_REF##*/}"
@@ -111,25 +163,52 @@ jobs:
111163
--username "${{ secrets.SVN_USERNAME }}" \
112164
--password "${{ secrets.SVN_PASSWORD }}"
113165
114-
- name: Update readme stable tag in both trunk and tag
166+
# -------------------------------------------
167+
# Add readme.txt AND vendor/autoload.php in trunk + tag
168+
# -------------------------------------------
169+
- name: Add final files: readme + vendor/autoload.php
115170
run: |
116171
version="${GITHUB_REF##*/}"
117172
118-
# update readme in trunk
119-
sed -i "s/^Stable tag:.*/Stable tag: $version/" svn-wp/trunk/readme.txt
173+
# add readme.txt to trunk
174+
cp readme.txt svn-wp/trunk/readme.txt
175+
svn -q add svn-wp/trunk/readme.txt || true
176+
177+
# add readme.txt to tag
178+
cp readme.txt svn-wp/tags/$version/readme.txt
179+
svn -q add svn-wp/tags/$version/readme.txt || true
180+
181+
# add autoload.php if exists
182+
if [ -f "vendor/autoload.php" ]; then
183+
cp vendor/autoload.php svn-wp/trunk/vendor/autoload.php
184+
cp vendor/autoload.php svn-wp/tags/$version/vendor/autoload.php
185+
186+
svn -q add svn-wp/trunk/vendor/autoload.php || true
187+
svn -q add svn-wp/tags/$version/vendor/autoload.php || true
188+
fi
120189
121-
# update readme in tag dir
190+
# -------------------------------------------
191+
# Update stable tag in both readmes
192+
# -------------------------------------------
193+
- name: Update readme stable tag in trunk + tag
194+
run: |
195+
version="${GITHUB_REF##*/}"
196+
197+
sed -i "s/^Stable tag:.*/Stable tag: $version/" svn-wp/trunk/readme.txt
122198
sed -i "s/^Stable tag:.*/Stable tag: $version/" svn-wp/tags/$version/readme.txt
123199
124-
- name: Commit updated readmes (final)
200+
# -------------------------------------------
201+
# Commit final updates (readme + autoload.php)
202+
# -------------------------------------------
203+
- name: Commit final readme + autoload.php
125204
run: |
126205
cd svn-wp
127-
svn commit -m "Update stable tag to ${GITHUB_REF##*/}" \
206+
svn commit -m "Finalize stable tag and autoloader for version ${GITHUB_REF##*/}" \
128207
--username "${{ secrets.SVN_USERNAME }}" \
129208
--password "${{ secrets.SVN_PASSWORD }}"
130209
131210
# -------------------------------------------
132-
# CREATE GITHUB RELEASE (KEEP THIS AS IS)
211+
# CREATE GITHUB RELEASE (unchanged)
133212
# -------------------------------------------
134213
- name: Create GitHub Release
135214
uses: softprops/action-gh-release@v2

0 commit comments

Comments
 (0)