[wp-meta] [Making WordPress.org] #5645: Feature Request: Update on reversion to `trunk/`
Making WordPress.org
noreply at wordpress.org
Tue Mar 2 07:15:35 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: |
------------------------------+---------------------
Changes (by dd32):
* keywords: security,UX,logging =>
* priority: high => normal
Old description:
> Hi,
>
> We encountered an issue yesterday when I accidentally triggered the
> release of a broken development version of our Plugin. A full post-mortem
> is available at https://github.com/markcheret/footnotes/issues/55, but 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/`.
>
> We've reviewed the issue and changed our release process to avoid it
> happening again in future, but I'm willing to bet that I'm neither the
> first nor the last person to make such a mistake.
>
> Part of the issue was that none of us received any notice that the SVN
> had defaulted to using the code in `trunk/` (as we usually do whenever a
> new tag or revision is committed), which would have quickly alerted us to
> the fact that something was wrong. I would like to request that some sort
> of fallback notification email be implemented in order to help developers
> to catch such cases.
>
> Without knowing the technical ins and outs of the Directory system, I've
> thought of a couple possible pseudocode implementations of this:
>
> ```
> if ((stable_tag !== 'trunk' or null) and parsed_stable_tag == 'trunk')
> send email
> ```
> or
> ```
> if (parsed_stable_tag == 'trunk' and tags/* exists) send email
> ```
>
> Thanks,
> Ben
New description:
Hi,
We encountered an issue yesterday when I accidentally triggered the
release of a broken development version of our Plugin. A full post-mortem
is available at https://github.com/markcheret/footnotes/issues/55, but 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/`.
We've reviewed the issue and changed our release process to avoid it
happening again in future, but I'm willing to bet that I'm neither the
first nor the last person to make such a mistake.
Part of the issue was that none of us received any notice that the SVN had
defaulted to using the code in `trunk/` (as we usually do whenever a new
tag or revision is committed), which would have quickly alerted us to the
fact that something was wrong. I would like to request that some sort of
fallback notification email be implemented in order to help developers to
catch such cases.
Without knowing the technical ins and outs of the Directory system, I've
thought of a couple possible pseudocode implementations of this:
{{{
if ((stable_tag !== 'trunk' or null) and parsed_stable_tag == 'trunk')
send email
}}}
or
{{{
if (parsed_stable_tag == 'trunk' and tags/* exists) send email
}}}
Thanks,
Ben
--
Comment:
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)
> 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/
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.
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.
--
Ticket URL: <https://meta.trac.wordpress.org/ticket/5645#comment:1>
Making WordPress.org <https://meta.trac.wordpress.org/>
Making WordPress.org
More information about the wp-meta
mailing list