Alert: The following information is take verbatim from this trac comment. We should run through these steps a few times and clean this up as needed.
The Process The Process
Every release, if there have been any changes in a bundled theme, we ship a new version to the WordPress.org theme directory. What follows are detailed steps to update the themes.
- Read each theme’s changelog in Trac, and create a changelog file with the highlights (used in Trac tickets, both core and theme review).
- Create a new core Trac ticket (like #30763) to bump the POT and versions for each theme.
- Locally, check out the current version of the theme from the WordPress.org theme directory, e.g., the largest number in each of these directories:
- Compare with a diff tool to the theme versions in core trunk, is there anything to test or note specifically? Any big unexpected changes?
- Test! Load the themes on all recent versions of WordPress (five back is a good place to start). Run the Theme Check plugin, and check for any errors or things we didn’t catch in the core cycle.
- Bump the theme versions by 0.1 in core, in each stylesheet.
- Update “Tested up to” in each readme.
- If you’re updating Twenty Ten or Twenty Eleven, wait for the POT update for each theme to be committed, then proceed to make the ZIP packages (a committer is needed to trigger the POT files update). For all other default themes, translations are managed by WordPress.org GlotPress, outside of the theme. So this step isn’t necessary for Twenty Twelve and later.
- Prepare the new version of each theme.
svn exportfrom core repository to a temporary location on your local hard drive.
- Do another quick diff with the previous version for a final sanity check.
- Zip it:
zip -r [name].zip name(Be sure the file name is the same as the theme directory path, otherwise the theme repository will consider the theme new on upload.)
- Currently, Twenty Sixteen development happens on Github, which makes its process slightly different. Before uploading a zip to the WordPress.org theme directory, be sure to pull out any files like this from the source on Github:
- All files beginning with .
- All files ending in .md (only in root, leave Genericons README.md)
- This can be done by pulling the zip file from Gtihub.com itself or running this command from the theme directory that is the git repository on your computer:
git archive --format=zip --output=twentysixteen.zip -9 --prefix=twentysixteen/
- After the core release is live, upload the new themes to the WP.org directory as the wordpressdotorg user. Note that theme updates will go live automatically if manual intervention is not taken beforehand by the theme or meta team. If this is not desired, contact them first to prevent the go-live process. If needed: note in the ticket, “Do not approve yet, please. We’d like to coordinate with the core release.”
- Ping the release lead as well as @Otto42 to coordinate with the main release process. The updates should be approved automatically. @Otto42 can help if anything goes wrong, and the release should know when everything is uploaded and live.
- If a theme has any code changes, that means it should get a version number bump and changelog update. Not updating the version number means a new version of the theme can’t be uploaded to the theme directory.
- Sometimes when looking at the diff of changes after a theme is uploaded, you may notice image or font files showing up as changed when they haven’t been changed. This is a Trac oddity.
- All default themes are marked as special cases on WordPress.org Themes Trac. Themes marked as special still show the theme check errors, but they upload anyway.