Skip to content
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

Proposal: Tooling to generate a changelog #2892

Open
jpmcb opened this issue Mar 13, 2023 · 3 comments
Open

Proposal: Tooling to generate a changelog #2892

jpmcb opened this issue Mar 13, 2023 · 3 comments
Labels
area/tools Issues in the build, publishing or other tooling1 or scripts status/icebox Things we think would be nice but are not prioritized type/enhancement New feature or request

Comments

@jpmcb
Copy link
Contributor

jpmcb commented Mar 13, 2023

What I'd like:

Similar to #2206, I'd like to use tooling to generate a changelog.

Currently, the process for maintainers is to look over the changes and PRs since the last release, add them manually to the uber CHANGELOG.md, and then get manual review from other maintainers. This is painful because, often, a sole maintainer does not have all the context to write effective one-liners for each feature, change, or fix.

Instead, we should consider using tooling. Broadly speaking, this is a fairly well solved problem with tools like:

However, this would also put the onerous of writing a good changelog on each individual contributor. If we used tooling, we would then have to expect each PR to have a good title and well thought out commit message.

Any alternatives you've considered:

It's always possible to generate a one-liner changelog using git:

git log --oneline --decorate

but this is very granular and will include every commit (including merge commits, multi-commits for a single feature, etc.)

@jpmcb jpmcb added type/enhancement New feature or request status/needs-triage Pending triage or re-evaluation labels Mar 13, 2023
@stmcginnis stmcginnis added status/icebox Things we think would be nice but are not prioritized area/tools Issues in the build, publishing or other tooling1 or scripts and removed status/needs-triage Pending triage or re-evaluation labels Mar 13, 2023
@jpmcb
Copy link
Contributor Author

jpmcb commented Mar 23, 2023

Another neat one I stumbled upon: https://github.com/googleapis/release-please

@stockholmux
Copy link
Member

There is some interesting conversation generation and linting of changing logs over on opensearch.

@stmcginnis
Copy link
Contributor

Just to throw another option on the pile, I've really liked using reno in the past. It's more targeted at release notes versus a change log, but I find that more useful anyway.

Downside is it's written in Python, so it doesn't quite fit with our set of tools. But a Makefile target for it that uses a python container could work. Another option - the git history parsing is really the main complexity. That's all figured out already, so it would be pretty easy to port over and make something like a Reno.rs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/tools Issues in the build, publishing or other tooling1 or scripts status/icebox Things we think would be nice but are not prioritized type/enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants