It’s not exactly changes for 2.49.0 tag, because releases cannot be created for existing tags. I needed to create a new test tag based on master. So it contains changes from 2.48.0 to the latest master tagged 2.49.0-test.
Again it cannot be used to create release notes for already existing tags, only for new tags. Also there needs to be a release created manually before adding this github action, because the action takes commits from the latest release to the selected tag.
Please let me know if you would like anything else adjusted and we can add it to other repos.
The steps to apply it to other repos:
Create a release manually of the latest tagged version
Add .github/workflows/release.yml to the repo
Whenever there’s a new tag created, there will be release added to GitHub with release notes for that tag.
I’ll cleanup webservices.rest releases and tags once you review it.
The example release notes for 2.49.0-test look great. I love how thorough it is, so no one’s contribution will be missed. Looks like you got it to include direct commits, not just PRs; is that right?
Re. creating manual releases: I did that yesterday for most things in the backend, will list the ones I did below. (There were only ~3 that I didn’t release manually for different reasons, will also describe below.)
Re. whenever there’s a new tag created: when is tag creation itself triggered? Is it when a release is done in Bamboo? (Sorry I think this was mentioned yesterday; just checking to make sure we’re not auto-triggering release notes for a release that’s not, like, actually release-ready.)
Address Hierarchy: v 2.21.0 from 2.20.0 (Just created release manually now; reason I didn’t do it yesterday is it was showing “no changes” in the auto-generated release notes, but the changelog showed one tiny commit from Daniel; in future will be nice to include direct commits)
Occasionally someone can create a tag manually, which will be considered as a release, but it is not. We can delete such a release or require that release tags are in specific version format. I’d just say that for now we can manually delete releases for not actual release tags. It’s just a click of a button in GitHub.
Bahmni repos don’t seem to tag releases reliably in github. @angshuonline would you and your team be open to adjust release scripts to create tags and release notes for these repos? I can assist with that.
As far as openmrs-core is concerned it’s a bit more tricky, because of different maintenance branches. The changelog generator assumes there’s only one release line, whereas we have 2.5.x, 2.6.x, 2.7.x, etc. We need to manually create release notes indicating the from and to tag for now. There’s probably some other action that could handle it for us, but I didn’t find one with a quick search.