ci: install subversion in publish-svn workflows#425
Conversation
ubuntu-latest runners no longer ship with svn preinstalled, so the SVN deploy step was failing with: svn: command not found ##[error]Process completed with exit code 127.
There was a problem hiding this comment.
LGTM — straightforward CI fix to install subversion since it's no longer preinstalled on ubuntu-latest.
Extended reasoning...
Overview
This PR adds an Install subversion step (sudo apt-get update && sudo apt-get install -y subversion) immediately after the checkout step in both .github/workflows/publish-svn.yml and .github/workflows/publish-svn-v2.yml. The change is a direct, mechanical fix for the svn: command not found failure that occurred when publish-svn.yml finally ran end-to-end after the permissions fix in #424.
Security risks
None of note. The added step runs apt-get install for the subversion package from the runner's default apt sources, which is standard practice on GitHub-hosted runners. No secrets handling, no shell injection surface, and no change to authentication or release content.
Level of scrutiny
Low — this is a CI-only workflow change with an obvious motivation (the runner image no longer ships svn), an obvious fix (install it), and minimal blast radius. The PHP plugin code, JS/CSS assets, and release workflows themselves are untouched. The change is symmetric across the v2 and v3 workflows, which is the correct shape.
Other factors
No bugs were found by the bug hunting system. The diff is six lines, identical pattern in both files, and the placement (immediately after checkout, before any svn invocation) is correct. There are no outstanding reviewer comments.
One Line Summary
Installs
subversionon the runner before the SVN deploy step, sinceubuntu-latestno longer ships withsvnpreinstalled.Motivation
Follow-up to #424. When re-tagging
v3.9.0to trigger the now-permission-fixedpublish-svn.yml, the run got past the reusable-workflow startup check but failed in theDeploy to SVN trunkstep:```
/home/runner/work/_temp/.../svn: command not found
##[error]Process completed with exit code 127.
```
See run: https://github.com/OneSignal/OneSignal-WordPress-Plugin/actions/runs/26300779118
svnis no longer a default-installed binary onubuntu-latest; it must be installed explicitly withapt-get install -y subversion.Scope
.github/workflows/publish-svn.ymland.github/workflows/publish-svn-v2.yml— adds anInstall subversionstep right after checkout in bothpublishjobs.Testing
Manual
Validation after merge: re-tag
v3.9.0at the new fix commit sopublish-svn.ymlruns end-to-end and 3.9.0 lands on WordPress.org trunk + tags.Unit / Integration
Affected code checklist
v3/)v2/legacy codeChecklist