Earlier today, Dion Hulse announced the results of a six-week survey on the WordPress.org theme upload process. The goal was to figure out if uploading a ZIP file was a “pain point” and see what other methods theme authors prefer. Then, move forward based on the feedback. In total, 256 people responded to the survey.
Of the weighted results, uploading themes via a ZIP remained the most popular option. Committing via Git or integrating with GitHub came in second and third, respectively. Using SVN or a CLI tool also had support.
The next steps should include allowing theme updates to be submitted via SVN. Trac tickets will also be removed for updates, which the Themes Team no longer reviews. For theme authors who prefer Git, the plan is to encourage the use of a GitHub Action for automatic deployment over SVN.
There are no tickets for implementing the changes yet, but they are forthcoming. Hulse said he is awaiting any feedback on the announcement post or in the Themes Team September 14 meeting.
Nothing was said about the initial theme submission. This will likely remain the same.
The upcoming SVN access will have some limits in comparison to plugins. Updates will be stored via a strict
/theme-slug/version scheme with a standardized version format. Theme authors will not be allowed to change any commits once an update is submitted. Like the ZIP upload system, they will need to bump the version number to send a new update. The goal is for the theme repository to merely be a deployment destination and not a place for development.
This should be a welcome change for those who have longed for alternative theme upload methods. As far back as I can remember, theme authors have asked for SVN access to the WordPress.org theme directory. It is a capability that plugin developers have long had. This was before the proliferation of Git and the rising popularity of GitHub. Every so often, themers would begin the discussion anew, but it would always end the same. Uploading a ZIP file was the only way to submit a new theme or an update to an existing one.
Eventually, those discussions included talk of Git. However, it seemed most of the passion for integrating with any version control system (VCS) had waned. Most just lived with the status quo.
This has not necessarily been a bad thing. Uploading a ZIP has kept the process simple. Theme authors could use their preferred VCS (or none) and ship the final product to WordPress.org.
As I viewed the survey and thought it over, I changed positions. Throughout my history as a theme author, I was clearly in the camp calling for VCS integration. I wanted SVN (eventually, GIT) access to my projects in the directory. However, I had long ago customized my development build process to incorporate a ZIP creation step. The extra 30 seconds or so that it took to upload that file via the theme upload form did not seem to matter so much anymore.
Like the plurality of others who responded to the survey, I now prefer uploading a ZIP file. Maybe it is what I am accustomed to, but it would not have been my answer a few years ago. I have come to appreciate the simplicity of the existing system.
However, opening the theme upload process up to other methods should improve things for more people. In particular, I could imagine theme shops incorporating something similar to 10up’s GitHub Action for plugin deployment in their release process. Essentially, the Action automatically sends an update to WordPress.org’s SVN repository when tagging a release.