[wp-meta] [Making WordPress.org] #5555: Introduce deploy keys for SVN
Making WordPress.org
noreply at wordpress.org
Sat Dec 19 14:22:22 UTC 2020
#5555: Introduce deploy keys for SVN
------------------------------+--------------------
Reporter: Clorith | Owner: (none)
Type: defect | Status: new
Priority: normal | Milestone:
Component: Plugin Directory | Keywords:
------------------------------+--------------------
It's been stated many times that the plugins and themes directories are
not for version control, they are deployment systems, and should only be
used as such.
This means developers should be (and are) using other services, like for
example GitHub, to host their publicly available code (also to comply with
for example plugin directory guidelines that un-minified sources code
needs to be freely available).
The problem here is the tedium of doing those deploy, with a proper
workflow, you would be developing on GitHub, making a release, tagging it,
then having to replicate all the code over to SVN. I know this is a
contentious topic, and not everyone is a fan of automated workflows from
locations such as GitHub.
Many folks use GitHub actions to automate this, but that has a drawback:
You need to supply your WordPress.org username and password as secrets on
a 3rd party. This also makes for extra steps if someone else takes over
maintaining your code.
I don't know if it's possible to add multiple keys to a user, so that
application password like keys could be added for a user on SVN, and that
wouldn't solve the problem of maintainer ownership transfers with 3rd
party systems.
My thought is therefore, all SVN assets get their own user, with an auto-
generated key (the key can be revoked to get a new one from within the
plugin admin screen by anyone with commit access, and a notification being
sent to all committers if this is done).
This would allow existing users to keep doing it the way they've always
done things with their own user if they want, but they, and new plugins,
could then also use this new user, which would be unique to each plugin.
A user like `wp-plugin-${plugin-slug}` would likely not exist already in
the system, and it would then be possible to block registrations of any
such prefixed usernames as well.
If we wanted to take it one step further, and make sure that uses of
GitHub actions (which would be my preferred approach) do not cause issues,
we could very easily create our own wp-plugin-deploy action, that would
help authors not make mistakes during releases.
--
Ticket URL: <https://meta.trac.wordpress.org/ticket/5555>
Making WordPress.org <https://meta.trac.wordpress.org/>
Making WordPress.org
More information about the wp-meta
mailing list