URL:
https://github.com/SSSD/sssd/pull/5257
Title: #5257: git-template: add tags to help with release notes automation
pbrezina commented:
"""
I did lots of research on the topic. Ansible replaced `reno` with its own generator
`antsibull-changelog` that is quite closely bound to Ansible development and cannot be
used by unrelated projects. I also looked for other generators, most of them is just using
git commit message (and only the subject line), many of them are tightly bound to the
language and packaging system (most often pip or npm) so those can not be used.
`reno` itself seemed promising but there are some limitations that do not work for us.
* One of the biggest caveats is that it actually requires the relnote files to be never
deleted. Once deleted, the release notes is also lost from the history when regenerating
older release notes. So reverting a patch after a release would remove it from the old
release notes as well so automation gets broken.
* IMHO keeping dozens and later hundreds of release notes in the tree forever is not
cool.
* It uses tag name as the version name, this does not work for us since we use sssd-X_Y_Z
instead of sssd-X.Y.Z for some reason.
* Another thing is that `reno` attaches a unique id to each file so it is kind of required
to use `reno new slug` by contributors which is unnecessary I think. It seem to work even
without the id, but that would be prone to conflicts if we need to keep the files
around.
So what I would like to do is to keep the idea of putting the notes into yaml files into
the repository but always delete them after the release. And prepare a custom generator
that will fit our needs. It's just a few minutes work in Python, so it really does not
matter.
"""
See the full comment at
https://github.com/SSSD/sssd/pull/5257#issuecomment-676535344