-
Notifications
You must be signed in to change notification settings - Fork 383
Creating Releases
Weston Ruter edited this page Jan 10, 2024
·
21 revisions
Use these icons to categorize changelog line items, as done by AMP core:
- ✨ New feature
- 🐛 Bug fix
- 🔥 P0 fix
- ✅ Tests
- ❄️ Flaky tests
- 🚀 Performance improvements
- 🖍 CSS / Styling
- ♿ Accessibility
- 🌐 Internationalization
- 📖 Documentation
- 🏗 Infrastructure / Tooling / Builds / CI
- ⏪ Reverting a previous change
- ♻️ Refactoring
- 🚮 Deleting code
- Create changelog draft on Wiki page.
- Check out the branch intended for release (
developfor major,x.yfor minor) and pull latest commits. - Bump plugin versions in
amp.php(2×: the metadata block in the header and also theAMP__VERSIONconstant). Commit and push. - Wait for the GitHub actions to create new build ZIPs for the branch. Alternatively, you may create the build ZIP yourself:
npm install && composer selfupdate --2 && composer install --prefer-source --no-interaction && npm run build:prod. - Install the
amp.ziponto a normal WordPress install running a stable release build; do smoke test to ensure it works. -
Draft new release on GitHub targeting the required branch (
developfor major,x.yfor minor).- Use the new plugin version as the tag (e.g.
1.2-beta3or1.2.1-RC1) - Use new version as the title, followed by some highlight tagline of the release.
- Attach the
amp.zipbuild to the release. - Add changelog entry to the release, link to compare view comparing previous release, and link to milestone.
- Make sure “Pre-release” is checked.
- Use the new plugin version as the tag (e.g.
- Verify the release branch has the pushed commit! Double check GHA.
- Publish GitHub release.
- (Deprecated?) Create built release tag (from the just-created
builddirectory):- Do
git fetch origin --tags && ./bin/tag-built.sh - Add link from release notes.
- Do
- Make announcements on Twitter and the #amp-wp channel on AMP Slack, linking to release post or GitHub release.
- Bump version in release branch, e.g.
…-alphato…-beta1and…-beta2to…-RC1 - If prerelease is RC, create the release branch now. Bump
developto alpha. - Make any necessary changes to Development Builds Wiki page.
- Copy these instructions into a Google Doc and share with those doing the release. Convert bullets to checkboxes.
- Create changelog draft on Wiki page.
- Update readme including the description, contributors, and screenshots (as needed).
- Check out the branch intended for release (
develop) and pull latest commits. - Update metadata:
- Bump plugin versions in
amp.php(×2: the metadata block in the header and also theAMP__VERSIONconstant). Verify vianpx grunt shell:verify_matching_versions. Ensure patch version number is supplied for major releases, so1.2-RC1should bump to1.2.0. - Ensure "Tested Up To" is updated to current WordPress version.
- Re-run
wp amp docs generate(alsonpx wp-env run cli wp amp docs generate), verify changes, and commit any docs updates. (This is not working with wp-env.) - Commit and push.
- Bump plugin versions in
- Verify the release branch has the pushed commit! Double check GHA.
- Download the ZIP from the GHA build and checksum:
wget -O amp.zip.sha256 https://storage.googleapis.com/ampwp_github_artifacts/refs/heads/develop/prod/amp.zip.sha256;
wget -O amp.zip https://storage.googleapis.com/ampwp_github_artifacts/refs/heads/develop/prod/amp.zip;
rm -r build;
mkdir build;
cd build;
unzip ../amp.zip;
cd ..;
-
Draft new release on GitHub targeting the required branch (
developfor major,x.yfor minor):- Use the new plugin version as the tag (e.g.
1.2.0or1.2.1) - Attach the
amp.zipbuild to the release. - Attach sha256 checksum as amp.zip.sha256.
- Add changelog entry to the release and link to compare view comparing previous release.
- Use the new plugin version as the tag (e.g.
- Install the
amp.ziponto a normal WordPress install running a stable release build; do smoke test to ensure it works. - Optionally do sanity check by comparing the
builddirectory 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 straightdiff, it's best to use a GUI likeidea diff,phpstorm diff,opendiff, ormeld). - Run
npm run deployto commit the plugin to WordPress.org. - Open confirmation email.
- Click view changes and compare SVN diff with previous release.
- Publish GitHub release.
- Press to Confirm the release on WordPress.org.
- Verify the release is available on WordPress.org; try installing it on a WordPress install and confirm it works.
- Create built release tag (from the just-created
builddirectory):- Do
git fetch origin --tags && ./bin/tag-built.sh - Add link from release notes.
- Do
- Bump version in release branch. For example, bump to
1.3.0-alphaondevelop. - Update docs on
amp-wp.org, where$versionis the version that was just released:terminus remote:wp wordpress-amp.live -- docs generate --version=$version | cat - - Close the GitHub milestone.
- Archive cards in project in Passed QA column.
- Make any necessary changes to Development Builds Wiki page.
- Alert any community members who are awaiting for fixes either on the support forum or GitHub issues.
Notice: Please also see the plugin documentation on amp-wp.org