|
| 1 | +--- |
| 2 | +name: Release template |
| 3 | +about: Internally used for new releases |
| 4 | +title: Release wp-parsely x.y.z |
| 5 | +labels: "wp-parsely, Maintenance" |
| 6 | +--- |
| 7 | + |
| 8 | +This is an issue for tracking the next `wp-parsely` release (milestone: [x.y.z](https://github.com/Parsely/wp-parsely/milestone/milestone-id?closed=1)). |
| 9 | + |
| 10 | +This ticket is to be opened the week before the actual release, so we have enough time to complete all the related tasks. The actual release of the plugin should be done on Mondays so we can catch the Tuesday WordPress VIP release window. |
| 11 | + |
| 12 | +## Before releasing |
| 13 | + |
| 14 | +**1. Merge all outstanding work** |
| 15 | +- [ ] Merge any outstanding PRs due for this release to the target branch (usually `develop`). |
| 16 | +- [ ] Verify that all important PRs have an appropriate `Changelog` tag. PRs without a `Changelog` tag won't be added to the changelog. |
| 17 | + |
| 18 | +**2. Conduct additional testing** |
| 19 | +We've got automated testing in place and also test under our local development environment during development. For impactful releases we should also: |
| 20 | +- [ ] Conduct an additional [smoke test](https://github.com/Parsely/wp-parsely/blob/develop/docs/TESTING.md#manual-smoke-test) under our local development environment. |
| 21 | +- [ ] Test under a regular non-local WordPress installation. |
| 22 | +- [ ] Test under a real WordPress VIP environment. |
| 23 | + |
| 24 | +**3. Communicate** |
| 25 | +- [ ] Inform Parse.ly support of the upcoming release. |
| 26 | + |
| 27 | +The following additional tasks might be needed depending on the release and its impact: |
| 28 | +- [ ] Write any needed internal documentation. |
| 29 | +- [ ] Write an internal P2 post about the release (to be posted immediately so folks are aware of the release ahead of time). |
| 30 | +- [ ] Write a WordPress VIP Lobby post about the release (to be posted immediately to preannounce next week's VIP release - don't forget to get someone to proofread!). |
| 31 | +- [ ] Prepare any public documentation (to be posted after the WordPress.org release). |
| 32 | + |
| 33 | +## Release process |
| 34 | + |
| 35 | +**1. Update version numbers and changelog** |
| 36 | +- [ ] [Run the "Bump wp-parsely version"](https://github.com/Parsely/wp-parsely/actions/workflows/bump-version.yml) GitHub Action to update the version numbers in the plugin files. Use the branch you want to release from (usually `develop`). |
| 37 | +- [ ] Verify that the generated PR looks correct. You can amend it with new commits if needed. |
| 38 | +- [ ] Merge the PR into the target branch (usually `develop`). |
| 39 | + |
| 40 | +**2. Merge develop into trunk** |
| 41 | +- [ ] [Create a PR](https://github.com/Parsely/wp-parsely/compare/trunk...develop?quick_pull=1&title=Release+wp-parsely+x.y.z&body=This+PR+merges+the+`develop`+branch+into+the+`trunk`+branch+in+order+to+release+wp-parsely+x.y.z.) that merges the target branch (usually `develop`) into `trunk`, named _Release wp-parsely x.y.z_. |
| 42 | +- [ ] Merge the PR into `trunk`. |
| 43 | + |
| 44 | +**3. Create release and deploy to WordPress.org** |
| 45 | +- [ ] Check if the `develop` and `trunk` branches built successfully. You can check it in the [GitHub Actions](https://github.com/Parsely/wp-parsely/actions/workflows/build-plugin.yml) tab. |
| 46 | +- [ ] [Run the "Release wp-parsely"](https://github.com/Parsely/wp-parsely/actions/workflows/release-plugin.yml) GitHub Action, on the `trunk-built` branch, inputting the new version number, and without selecting Dry run. |
| 47 | +- [ ] Check the action logs for any errors. If there are any, fix them and rerun the action. |
| 48 | +- [ ] Check the new release on the [GitHub releases page](https://github.com/Parsely/wp-parsely/releases) and verify that it is correct. |
| 49 | +- [ ] Verify that the release was successful by checking the [WordPress.org plugin page](https://wordpress.org/plugins/wp-parsely/). |
| 50 | + |
| 51 | +## After releasing |
| 52 | + |
| 53 | +**1. Communicate** |
| 54 | +- [ ] If needed, update the public documentation. |
| 55 | +- [ ] Inform the concerned Slack channels about the new release, also preannouncing the WordPress VIP release. |
| 56 | + |
| 57 | +**2. Merge trunk back into develop** |
| 58 | +- [ ] [Create a PR](https://github.com/Parsely/wp-parsely/compare/develop...trunk?quick_pull=1&title=Merge+trunk+into+develop+after+the+wp-parsely+x.y.z+release&body=This+PR+merges+the+`trunk`+branch+into+the+`develop`+branch+after+the+release+of+wp-parsely+x.y.z.) that merges `trunk` into `develop`, named _Merge trunk into develop after the wp-parsely x.y.z release_. |
| 59 | +- [ ] Merge the PR into `develop`. |
| 60 | + |
| 61 | +**3. Manage milestones** |
| 62 | +- [ ] Close the current milestone. |
| 63 | +- [ ] If needed, open a new milestone for the next release. |
| 64 | + |
| 65 | +**4. Release to other platforms** |
| 66 | +- [ ] Update the `vip-go-mu-plugins` submodule to the latest version. |
| 67 | +- [ ] Release the plugin for WordPress VIP. |
| 68 | +- [ ] Release the plugin for WordPress.com. |
0 commit comments