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/