Skip to content

Creating Releases

Weston Ruter edited this page Nov 12, 2024 · 21 revisions

Creating a stable release

  1. Copy these instructions into a Google Doc and share with those doing the release. Convert bullets to checkboxes.
  2. Check out the branch intended for release (develop) and pull latest commits.
  3. Update metadata:
    1. Update readme including the description, contributors, and screenshots (as needed).
    2. Update ecosystem files: npm run update-ecosystem-files
    3. Bump plugin versions in amp.php (×2: the metadata block in the header and also the AMP__VERSION constant). Verify via npx grunt shell:verify_matching_versions. Ensure patch version number is supplied for major releases, so 1.2-RC1 should bump to 1.2.0.
    4. Ensure "Tested Up To" is updated to current WordPress version.
    5. Bump the "Requires" and "Requires PHP" fields to reflect the current supported versions.
    6. Re-run wp amp docs generate (also npx wp-env run cli wp amp docs generate), verify changes, and commit any docs updates. (This is not working with wp-env.)
    7. Commit and push.
  4. Verify the release branch has the pushed commit! Double check GitHub Actions.
  5. Run composer self-update && composer install && nvm install && npm install && npm run package:prod.
  6. Draft new release on GitHub targeting the required branch (develop for major, x.y for minor):
    1. Use the new plugin version as the tag (e.g. 1.2.0 or 1.2.1)
    2. Attach the amp.zip build to the release.
    3. Generate changelog draft via GitHub and tweak as necessary.
  7. Install the amp.zip onto a normal WordPress install running a stable release build; do smoke test to ensure it works.
  8. Optionally do sanity check by comparing the build directory with the previously-deployed plugin on WordPress.org for example: svn export https://plugins.svn.wordpress.org/amp/trunk /tmp/amp-trunk; diff -r /tmp/amp-trunk/ ./build/ (instead of straight diff, it's best to use a GUI like idea diff, phpstorm diff, opendiff, or meld).
  9. Run npm run deploy to commit the plugin to WordPress.org.
  10. Open confirmation email.
  11. Click view changes and compare SVN diff with previous release.
  12. Publish GitHub release.
  13. Press to Confirm the release on WordPress.org.
  14. Verify the release is available on WordPress.org; try installing it on a WordPress install and confirm it works.
  15. Create built release tag (from the just-created build directory): git fetch origin --tags && ./bin/tag-built.sh
  16. Bump version in release branch. For example, bump to 1.3.0-alpha on develop.
  17. Update docs on amp-wp.org, where $version is the version that was just released: terminus remote:wp wordpress-amp.live -- docs generate --version=$version | cat -
  18. Close the GitHub milestone.
  19. Archive cards in project in Passed QA column.
  20. Alert any community members who are awaiting for fixes either on the support forum or GitHub issues.