Skip to content

fix(release): fix SVN deploy — download artifact instead of rebuilding with --no-dev#753

Merged
superdav42 merged 1 commit intomainfrom
fix/svn-deploy-workflow
Apr 7, 2026
Merged

fix(release): fix SVN deploy — download artifact instead of rebuilding with --no-dev#753
superdav42 merged 1 commit intomainfrom
fix/svn-deploy-workflow

Conversation

@superdav42
Copy link
Copy Markdown
Collaborator

@superdav42 superdav42 commented Apr 7, 2026

Problem

The deploy-to-wporg job was failing on npm run build with:

Error: Command failed: vendor/wp-cli/wp-cli/bin/wp i18n make-pot ...
/bin/sh: 1: vendor/wp-cli/wp-cli/bin/wp: not found

Root cause: The job ran composer install --no-dev, which skips wp-cli/wp-cli-bundle (a dev dependency). Then npm run build triggers the prebuild script → makepot → calls vendor/wp-cli/wp-cli/bin/wp → not found → exit 1. The SVN deploy step never ran.

Fix

  • Build job: upload the built zip as a GitHub Actions artifact (actions/upload-artifact@v4, 7-day retention).
  • Deploy job: download that artifact and unzip it into the workspace. No rebuild — no WP-CLI dependency, no MU_CLIENT_ID/MU_CLIENT_SECRET secrets needed.
  • Node.js: bumped from 18 → 20 in the build job. Several packages (commander, listr2, string-width, nano-spawn, qified) already require node>=20 and were emitting EBADENGINE warnings.

This matches the pattern used in Ultimate-Multisite/ai-provider-for-any-compatible-endpoint (deploy.yml).

Verification

Merge and tag a patch release (e.g. v2.5.1) — the deploy-to-wporg job should complete the SVN deploy step successfully.

The v2.5.0 SVN deploy did not complete. After this merges, we should re-trigger it manually or tag a patch.

Summary by CodeRabbit

Release Notes

  • Chores
    • Updated Node.js build runtime from version 18 to 20
    • Streamlined release pipeline to generate and reuse build artifacts across deployment stages
    • Implemented 7-day retention policy for build artifacts

…g with --no-dev

The deploy-to-wporg job was running composer install --no-dev then npm run
build, which triggers the prebuild script that calls wp-cli via
vendor/wp-cli/wp-cli/bin/wp. Since wp-cli/wp-cli-bundle is a dev dependency,
it was absent and the build failed.

Fix: upload the zip as a GitHub Actions artifact in the build job, then
download and unzip it in deploy-to-wporg — no rebuild needed. Matches the
pattern used in the ai-provider-for-any-compatible-endpoint deploy workflow.

Also bumps Node.js from 18 to 20 in the build job; several packages already
require node>=20 and were emitting EBADENGINE warnings.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 7, 2026

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

The GitHub Actions release workflow was restructured to use artifact caching and download instead of rebuilding during deployment. Node.js runtime was upgraded from version 18 to 20. The build job now uploads a zip artifact, and the deploy job downloads and extracts it using a new VERSION extraction step.

Changes

Cohort / File(s) Summary
CI/CD Workflow Optimization
.github/workflows/release.yml
Updated Node.js from 18 to 20. Added artifact upload step in build job. Replaced build pipeline steps in deploy-to-WordPress.org job with artifact download and extraction. Added VERSION extraction step to derive version from git tag for artifact filename resolution.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 Build once, cache and hop away,
No rebuild fuss to spoil the day,
Node twenty bounds with artifact grace,
Jobs passing baton through storage space,
CI/CD flows smoother, faster, more spry!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: switching from rebuilding with Composer/NPM to downloading a pre-built artifact in the deploy job, which fixes the SVN deploy failure.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/svn-deploy-workflow

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 7, 2026

🔨 Build Complete - Ready for Testing!

📦 Download Build Artifact (Recommended)

Download the zip build, upload to WordPress and test:

🌐 Test in WordPress Playground (Very Experimental)

Click the link below to instantly test this PR in your browser - no installation needed!
Playground support for multisite is very limitied, hopefully it will get better in the future.

🚀 Launch in Playground

Login credentials: admin / password

@superdav42 superdav42 merged commit 3006a0d into main Apr 7, 2026
10 of 11 checks passed
@superdav42
Copy link
Copy Markdown
Collaborator Author

Problem

The deploy-to-wporg job was failing on npm run build with:

Error: Command failed: vendor/wp-cli/wp-cli/bin/wp i18n make-pot ...
/bin/sh: 1: vendor/wp-cli/wp-cli/bin/wp: not found

Root cause: The job ran composer install --no-dev, which skips wp-cli/wp-cli-bundle (a dev dependency). Then npm run build triggers the prebuild script → makepot → calls vendor/wp-cli/wp-cli/bin/wp → not found → exit 1. The SVN deploy step never ran.

Fix

  • Build job: upload the built zip as a GitHub Actions artifact (actions/upload-artifact@v4, 7-day retention).
  • Deploy job: download that artifact and unzip it into the workspace. No rebuild — no WP-CLI dependency, no MU_CLIENT_ID/MU_CLIENT_SECRET secrets needed.
  • Node.js: bumped from 18 → 20 in the build job. Several packages (commander, listr2, string-width, nano-spawn, qified) already require node>=20 and were emitting EBADENGINE warnings.
    This matches the pattern used in Ultimate-Multisite/ai-provider-for-any-compatible-endpoint (deploy.yml).

Verification

Merge and tag a patch release (e.g. v2.5.1) — the deploy-to-wporg job should complete the SVN deploy step successfully.
The v2.5.0 SVN deploy did not complete. After this merges, we should re-trigger it manually or tag a patch.


Merged via PR #753 to main.
Merged by deterministic merge pass (pulse-wrapper.sh).

aidevops.sh v3.6.144 spent 6m on this as a headless bash routine.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 7, 2026

Performance Test Results

Performance test results for 5500855 are in 🛎️!

Note: the numbers in parentheses show the difference to the previous (baseline) test run. Differences below 2% or 0.5 in absolute values are not shown.

URL: /

Run DB Queries Memory Before Template Template WP Total LCP TTFB LCP - TTFB
0 41 37.76 MB 910.50 ms 190.50 ms (+15.50 ms / +8% ) 1140.00 ms (+23.00 ms / +2% ) 2126.00 ms (+80.00 ms / +4% ) 2036.00 ms (+76.95 ms / +4% ) 91.10 ms (-3.95 ms / -4% )
1 56 49.02 MB 985.00 ms (+29.50 ms / +3% ) 154.00 ms 1142.00 ms (+32.50 ms / +3% ) 2142.00 ms 2054.35 ms 85.05 ms

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant