-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automate NEWS/CHANGES Generation and Ensure Entries #2310
Comments
To check the changelog I've come up with a small script https://github.com/xavfernandez/pip/blob/changelog_checker/tasks/check_changelog.py that for each commit since the last pushed tag:
It helps to quickly scan the commit messages of all the commits without changelog. To run the script, you just need To complete this tool/ease the review, we could add a special GitHub label ( Feedback very welcome ! |
for evaluation - openstack made a tool called reno for composing user-facing changelogs |
It looks like reno is implementing In the meantime, I've added the |
This is done now. |
Currently pip has a
CHANGES.txt
file which the author of a change needs to add any changes too. However it's really easy to forget to mention changes there. In addition the fact that multiple authors are all editing that one file means that merge conflicts regularly happen in that file.It would be great to automate the creation of this file as much as possible and do it in a way where we can test that a PR adds an entry to it.
I've seen three methods for automating this file:
Between these three methods, deriving it from the commit log means that we get an "automatic" change log, however I believe that in order to effectively use this method we'll need to use something other than Github. This is because we'll want something like Gerrit where we're shown the commit message in a way that makes it easier to review that and we'll want something that does squash merges or single commit per change instead of how Github does it with PRs. I also worry that it becomes near impossible to fix typos or reword a commit message in this style.
The second method is attractive for a similar reason as the first one is, we'll get automate change log entries from the PRs. However a lot of PRs simply do not have great titles or bodies which is kind of a bummer. On the plus side we can edit PR titles/bodies so we can change them at anytime, but on the negative side pretty much only we and the original author can do that and there's no history behind it. I also worry that this ties our release process directly to the Github API.
The third method is my personal favorite, it does require that contributors write explicit change log entries, however we can pretty easily test to ensure that this was done. It makes it easy for anyone to change a commit message after the fact and it comes with history. It also does not tie our release process directly to the Github API the same way as the second method does, nor does it require us to move away from Github PRs like the first method does.
The text was updated successfully, but these errors were encountered: