From eaa21e40706e78a2fe34b95d6d268c14c002bf52 Mon Sep 17 00:00:00 2001
From: Leon Francis Shelhamer <leon@211j.com>
Date: Mon, 28 Oct 2024 22:52:19 -0400
Subject: [PATCH] update deploy doc

---
 .github/scripts/generate-readme.js |  2 +-
 .github/workflows/deploy.yml       | 40 ++++++++++++++++++++++++------
 .gitignore                         |  3 ++-
 3 files changed, 35 insertions(+), 10 deletions(-)

diff --git a/.github/scripts/generate-readme.js b/.github/scripts/generate-readme.js
index bdc20c7..d8e0dc8 100755
--- a/.github/scripts/generate-readme.js
+++ b/.github/scripts/generate-readme.js
@@ -3,7 +3,7 @@ const path = require('path');
 
 const readmePath = path.join(__dirname, '../../readme.md');
 const changelogPath = path.join(__dirname, '../../CHANGELOG.md');
-const outputPath = path.join(__dirname, '../../readme.txt');
+const outputPath = path.join(__dirname, '../temp/readme.txt');
 
 // Function to detect and remove badge lines
 function shouldRemoveLine(line) {
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 67a7bb0..c0d3236 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -10,22 +10,46 @@ jobs:
     runs-on: ubuntu-latest
 
     steps:
-      - name: Checkout code
-        uses: actions/checkout@master
-      # Step 1: Set up Node.js (use the latest stable version)
+      # Step 1: Checkout the repository
+      - name: Checkout Repository
+        uses: actions/checkout@v2
+
+      # Step 2: Set up Node.js (use the latest stable version)
       - name: Set up Node.js
         uses: actions/setup-node@v2
         with:
           node-version: 'lts/*'  # Use latest LTS version of Node.js
 
-      # Step 2: Generate readme.txt using the Node.js script in .github/scripts/
+      # Step 3: Install Node.js dependencies (if you have any, can be skipped if not needed)
+      # - name: Install dependencies
+      #   run: npm install
+
+      # Step 4: Generate readme.txt using the Node.js script in .github/scripts/
       - name: Generate readme.txt
         run: node .github/scripts/generate-readme.js
 
-      # Step 3: WordPress Plugin Deploy
-      - name: WordPress Plugin Deploy
-        uses: 10up/action-wordpress-plugin-deploy@stable
+      # Step 5: Install Subversion
+      - name: Install Subversion
+        run: sudo apt-get install subversion
+
+      # Step 6: Deploy to WordPress SVN /trunk/
+      - name: Deploy to WordPress SVN /trunk/
+        env:
+          SVN_USERNAME: ${{ secrets.WORDPRESS_USERNAME }}
+          SVN_PASSWORD: ${{ secrets.WORDPRESS_PASSWORD }}
+        run: |
+          svn co https://plugins.svn.wordpress.org/discontinued-products/ svn-dir
+          rsync -av --delete --exclude=".git" ./ svn-dir/trunk/
+          cp .github/temp/readme.txt svn-dir/trunk/readme.txt  # Copy the newly generated readme.txt
+          cd svn-dir
+          svn add --force trunk/*
+          svn commit -m "Deploying version ${{ github.ref }}" --username $SVN_USERNAME --password $SVN_PASSWORD --non-interactive
+
+      # Step 7: Create a tag in WordPress SVN /tags/
+      - name: Create SVN Tag
         env:
           SVN_USERNAME: ${{ secrets.WORDPRESS_USERNAME }}
           SVN_PASSWORD: ${{ secrets.WORDPRESS_PASSWORD }}
-          SLUG: discontinued-products
+        run: |
+          VERSION=${GITHUB_REF/refs\/tags\/v/}
+          svn cp https://plugins.svn.wordpress.org/discontinued-products/trunk https://plugins.svn.wordpress.org/discontinued-products/tags/$VERSION -m "Tagging version $VERSION" --username $SVN_USERNAME --password $SVN_PASSWORD --non-interactive
diff --git a/.gitignore b/.gitignore
index c8ce876..98a72f5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,7 +28,8 @@ yarn-error.log*
 /public/
 
 ### Ignore the temp readme.txt file ###
-readme.txt
+/.github/temp/
+/.github/temp/readme.txt
 
 ### PHP Composer (if added in the future) ###
 /vendor/