When development is ready to begin one of the engineers should be nominated as a Release Manager. They will be responsible for making sure the following tasks are completed though not necessarily completing them.
package.json and package-lock.json and submit a PR. The easiest way to do this is to use npm --no-git-tag-version version <major|minor>.Update dependencies for <version> with a description that links to the documentation. This should be done early in the release cycle so find a volunteer to take this on and assign it to them.Once all issues have passed acceptance testing and have been merged into master release testing can begin.
master named <major>.<minor>.x in medic. Post a message to #development using this template:@core_devs I've just created the `<major>.<minor>.x` release branch. Please be aware that any further changes intended for this release will have to be merged to `master` then backported. Thanks!
<major>.<minor>.<patch>-beta.1 by pushing a git tag and when CI completes successfully notify the QA team that it's ready for release testing.@channel I've just updated the translations in POE. These keys have been added: "<added-list>", and these keys have been updated: "<updated-list>"
master. Ensure all issues are in the GH Project, that they're correct labelled, and have human readable descriptions. Use this script to export the issues into our changelog format. Manually document any known migration steps and known issues. Provide description, screenshots, videos, and anything else to help communicate particularly important changes. Assign the PR to a) the Director of Technology, and b) an SRE to review and confirm the documentation on upgrade instructions and breaking changes is sufficient.master, cherry-pick them into the release branch, and release another beta.master. Cherry-pick the commit into the release branch. <major>.<minor>.<patch>. This will create the git tag automatically. Link to the release notes in the description of the release.id: medic:medic:<major>.<minor>.<patch>@channel *We're excited to announce the release of {{version}}*
New features include {{key_features}}. We've also implemented loads of other improvements and fixed a heap of bugs.
Read the release notes for full details: {{url}}
Following our support policy, versions {{versions}} are no longer supported. Projects running these versions should start planning to upgrade in the near future. For more details read our software support documentation: https://github.com/medic/medic-docs/blob/master/installation/supported-software.md#supported-versions
To see what's scheduled for the next releases have a read of the product roadmap: https://github.com/orgs/medic/projects?query=is%3Aopen+sort%3Aname-asc
@channel.Upgrade note draft for #6306:
Outbound push's push logic has changed: now each configured outbound push will be sent only once per doc. Specifically: the first time your relevant_to function resolves to true is the first and only time a particular record will be send to a configured external service. This is to ensure that pushes are stable and predictable, and additional pushes are not sent unintentionally or unexpectedly. We are working on allowing for multiple pushes, please see #6419 and contribute your situation to help us determine the best way forward.
@abbyad please read the above (and the linked ticket) and let me know if you think that is well worded for our release notes.
Looks good, thanks for clarifying.
There is a missing word in the first sentence (outbound push **IS** only sent) and "record / config combination" may be unclear -- perhaps clearer to say that "each configured outbound push will be sent only once per doc."
The rest of the explanation is perfect as is!
Cool, updated
We setup a new subcategory on the CHT Forum to announce releases. Can we change the second to last bullet point to say "....under the Product - Releases category."?
https://forum.communityhealthtoolkit.org/c/product/releases/26
Please also add me as a reviewer of the blog post
Blog header image courtesy of @n-orlowski
Done!