Updated Releasing (markdown)

Filipe
2023-08-28 13:12:15 +01:00
parent dcd71ddd69
commit b826745166

@@ -43,29 +43,31 @@ git push upstream HEAD:refs/tags/vX.Y.Z
### Draft the release
Draft a [new release](https://github.com/openfoodfoundation/openfoodnetwork/releases/new?tag=v&title=v+Code+Name&body=Congrats%0A%0ADescription%0A%0A%23%23+User+facing+changes+:eyes:%0A%0A%0A%0A%23%23+Technical+changes+:wrench:%0A%0A) in the Github UI. **Base the release on the commit with the last merged PR you want to include** ('Target->Recent Commits') and not `master`. There's always a chance new PR's are merged between the draft is created and the actual release is published, so this makes the release consistent. If you take a look at the master branch in [Semaphore](https://semaphoreci.com/openfoodfoundation/openfoodnetwork-2/branches/master), you should see the Transifex commit you just made in the steps above (named "Update all locales with the latest Transifex translations").
Draft a [new release](https://github.com/openfoodfoundation/openfoodnetwork/releases/new?tag=v&title=v+Code+Name&body=Congrats%0A%0ADescription%0A%0A%23%23+User+facing+changes+:eyes:%0A%0A%0A%0A%23%23+Technical+changes+:wrench:%0A%0A) in the Github UI. **Base the release on the newly created tag, pointing out the release version. This should correspond to the merge commit from the Transifex update.** There's always a chance new PR's are merged between the draft is created and the actual release is published, so this makes the release consistent. Note, that the commit hash will only be visible once you save the draft: If you take a look at [drafted release page](https://github.com/openfoodfoundation/openfoodnetwork/releases), you should see the Transifex commit hash you just made in the steps above; Mouse-over it should display the message "Update all locales with the latest Transifex translations":
Collect a list of included changes in the release description. The quickest way is to use GitHub's <kbd>Generate release notes</kbd> button, otherwise you can refer to the old [manual method](https://github.com/openfoodfoundation/openfoodnetwork/wiki/Releasing/8c147072c112e2a88d3b1d2c1350927aa86db436#collect-included-changes).
![image](https://github.com/openfoodfoundation/openfoodnetwork/assets/49817236/9058f6bb-44fc-4a7c-9ca3-ed383d11d9d4)
**Make sure the notes can be understood by humans.** List all user-facing changes first under their own headline. Then list the rest of the changes. Mention any dependencies on [ofn-install](https://github.com/openfoodfoundation/ofn-install) as well. Copy the user-facing changes to the #instance-managers Slack channel so that they can let people know.
Collect a list of included changes in the release description. The quickest way is to use GitHub's <kbd>Generate release notes</kbd> button. If reviewers add the right labels to pull requests then the release note categories can be generated automatically. Otherwise you can refer to the old [manual method](https://github.com/openfoodfoundation/openfoodnetwork/wiki/Releasing/8c147072c112e2a88d3b1d2c1350927aa86db436#collect-included-changes).
A lot of releases contain only minor bug fixes and tech updates. We then increase the patch version number (1.0.x). If there are significant user-facing changes, we bump the minor version number (1.x.0). The major number is only updated for very big changes like the Spree upgrade from v1 to v2.
**Make sure the notes can be understood by humans.** User-facing changes should appear first under their own headline, the list with other changes below. Mention any dependencies on [ofn-install](https://github.com/openfoodfoundation/ofn-install) as well. Copy the user-facing changes to the #instance-managers Slack channel to let people know.
A lot of releases contain only minor bug fixes and tech updates. We then increase the patch version number (4.0.x). If there are significant user-facing changes, we bump the minor version number (4.x.0). The major number is only updated for very big changes like switching webserver.
### Update the Github issue
Add a link to the **Semaphore build** for the **target commit** of the new release, and a link to the **release draft** itself into the release's Github issue so the release tester has a nice time :heart:.
All the steps above are summarized in the GitHub issue. Make sure you update it, accordingly and a link to the release draft itself into the release's Github issue so the release tester has a nice time ❤️.
## Testing the release
Releases require some testing to ensure critical paths of the application keep working. Talk to one of the testers available to coordinate this (message in the #testing channel). Once the release's draft is finished and she is aware, you can **stage the target commit via the Semaphore build page** to a server with PayPal and Stripe integrations set up. These need to be tested.
Releases require some testing to ensure critical paths of the application keep working. Talk to one of the testers available to coordinate this (message in the #testing channel). Once the release's draft is finished and a tester is aware, one can **stage the target commit [via GitHub Actions](https://github.com/openfoodfoundation/openfoodnetwork/actions/workflows/stage.yml)**, by clicking `Run workflow` by selecting the correct tag.
Keep in mind that any merges done to `master` while the release is in draft won't get tested (unless the release is redrafted with a new target commit and the new build is staged).
## Publish the release
**Wait for testers to give the ok** to publish the release; that will create a git tag for you. Check the [Testing the release](#testing-the-release) section above for details.
**Wait for testers to give the ok** to publish the release. Check the [Testing the release](#testing-the-release) section above for details.
**Announce** in [#global-community](https://openfoodnetwork.slack.com/archives/C59ADD8F2) you just published a new release. Use the template below :point_down: :