[wp-meta] [Making WordPress.org] #5645: Feature Request: Update on reversion to `trunk/`

Making WordPress.org noreply at wordpress.org
Tue Mar 2 07:35:11 UTC 2021


#5645: Feature Request: Update on reversion to `trunk/`
------------------------------+---------------------
 Reporter:  rumperuu          |       Owner:  (none)
     Type:  enhancement       |      Status:  new
 Priority:  normal            |   Milestone:
Component:  Plugin Directory  |  Resolution:
 Keywords:                    |
------------------------------+---------------------

Comment (by rumperuu):

 Replying to [comment:1 dd32]:
 > Hi Ben,
 >
 > > in short it was due to me not realising that changing the ‘Stable Tag’
 field to the development version (2.5.9d1) in trunk/readme.txt would cause
 the WP Plugin Directory to parse it as a new version, look for the
 corresponding tags/2.5.9d1/ and, upon failing to find it, revert to
 trunk/.
 >
 > May I ask, what did you expect would be the result of this? For simply
 no change to occur?
 > (Do read on, I'm actually okay with that behaviour and it's something
 that's been discussed not-on-trac)

 I didn't expect the versioning info in `readme.txt` to have any effect,
 just as the version number in the Plugin base file docblock doesn't
 (https://plugins.svn.wordpress.org/footnotes/trunk/footnotes.php). Coming
 from a string of Node.js projects, I expect I assumed the only important
 version number was stored in some sort of config file like `package.json`
 or `composer.json`, or that `trunk/` was for dev. versions and `tags/*`
 was for releases (as this is how this particular Plugin is laid out, but I
 see that there is no necessity for other projects to use `tags`).

 This behaviour ''is'' mentioned in the Plugin Handbook
 (https://developer.wordpress.org/plugins/wordpress-org/how-your-readme-
 txt-works/#how-the-readme-is-parsed), but only as a one-liner in the
 second paragraph of the section of how `readme.txt` is parsed. Not
 realising that `trunk/readme.txt` ''would'' be parsed, I didn't think to
 look at ''how'' it might be parsed.

 > > but I'm willing to bet that I'm neither the first nor the last person
 to make such a mistake.
 > You're definitely not the first, there's been a few cases where larger
 plugins have had the same thing happen, where `trunk` was packaged as the
 tag didn't get committed in the proper format.
 >
 > But I also know several plugin authors who rely upon the behaviour.
 >
 > You may want to enable Release Confirmations for your plugin, #5352, you
 can do that here: https://wordpress.org/plugins/footnotes/advanced/

 Ah! Definitely a good idea, thanks for the tip.

 > As part of that, a few of us discussed if disabling plugin releases from
 trunk entirely would be viable, #5484 is a step towards that.

 I think allowing releases from `trunk/` where ‘Stable Tag’ is either
 ‘trunk’ or nonexistent should be fine (and disabling it would presumably
 break those projects you mentioned that rely on the behaviour), but having
 it fallback to `trunk/` when it can't find `tags/stable_tag/` is a footgun
 waiting to happen, especially as it is currently silent. I would expect a
 non-`trunk/` stable tag that did not have a matching folder in `tags/` to
 be considered an error and the last-known-good version to be reverted to.

 > Another thing worth noting, is that since Github is your primary
 development platform, syncing every commit to plugins.svn might not be
 needed, and partially lead to this situation. Personally I use the
 [https://github.com/10up/action-wordpress-plugin-deploy 10up Github
 action] which deploys any ''releases'' I tag on Github to be pushed over
 to plugins.svn instead.

 Thanks for the heads-up, we've only just started shifting over to GitHub
 so I've still got the release process workflow to hammer out.

-- 
Ticket URL: <https://meta.trac.wordpress.org/ticket/5645#comment:2>
Making WordPress.org <https://meta.trac.wordpress.org/>
Making WordPress.org


More information about the wp-meta mailing list