-
Notifications
You must be signed in to change notification settings - Fork 1
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
PROJ: Automatically Generate a CHANGELOG.md per repo #3
Comments
@jasonpatrickellykrause brought up a good point today about squash commits, so here's the theory:
|
Worth noting that the site you link (https://keepachangelog.com) strongly favors manually-maintained changelogs over something generated from the commit history:
I'm inclined to agree. We could probably get 80% of the way there with some sort of magic syntax in the commit messages to control changelog output, but that gets tricky fast. If we ever mess up the syntax, or just decide a changelog message can be worded better (and this is user-facing, so we want it to be worded well), we'd need a way to edit changelog messages, which is trivial if it's just a human-written markdown file but much trickier if it's generated from commits (without rewriting history in a public repo). One possibility that seems sensible to me is some sort of GHA thing that checks for PRs that don't touch CHANGELOG.md, and replies with a comment saying something like "this doesn't have a changelog entry; unless it's a trivial change, it should probably have one". |
@Gaelan agreed! We'd prefer that a human-maintained CHANGELOG.md would be preferable to a machine-generated. In cases where CHANGELOG.md does not exist at all, I think it would be better to have something than nothing (so long as it's not just a noisy copy-pasta that you can just get from Moving along a spectrum of maturity, you can imagine how we can provide guidance to go from zero to something to better to best :) |
Fair enough. The messaging of "we provide this tool, but ideally you shouldn't use it" is a little hard to get right, but probably doable. Speaking of which, is there an existing place for open-source best practice guidance at CMS? If not, starting one should probably be one of our first tasks :) |
https://github.com/dsacms/ospo-guide is still very early stages, but we're working on consolidating our guidance ;) |
10/21:
|
10/25:
|
11/01:
|
Mentor Name
@decause-gov
@IsaacMilarky
Project Brief Description
https://keepachangelog.com/en/1.0.0/#how
Based on the expert guidance contained here, we can advise projects to use a verbose commit-naming scheme based on the suggested keywords here, and then create a github action that will scrape the git logs for mentions of those words, to generate a draft CHANGELOG.md file.
This would also require that CONTRIBUTORS adhere to guidance about using the special KeepAChangelog Prefixes in their commit logs, so, adding a section to CONTRIBUTING.md file would need to be paired with this action.
Scoping
2 weeks or less
Required
Desired Date Window: (June, July, August, Any)
June
The text was updated successfully, but these errors were encountered: