Open LouisGariepy opened 1 year ago
My vote goes to number two. And I disagree that a commit hook should be optional as that would mean human error is still in play. Or as an option you could create an action that checks the commit messages instead, then the user can rebase before PR merge.
I agree that if we go route 2, we should find a way to prevent merging non-conventional commits.
The problem with a required commit hook is that it adds more friction to casual contributors who might not know or care about conventional commits. I don't want to dissuade or slow down PRs just because the author is not familiar with conventional commits.
Sounds reasonable 👍🏻
This is the first time I have heard of conventional commits. As I understand it, each commit has to be formatted in a certain way to be added as a line in the changelog. I'm afraid that this would encourage squashing large changes in a single commit, which might be harder to track.
An alternative to conventional commits is require all PRs also add to the changelog as part of the PR.
@tbillington I'll add this option to the original post! Thanks :)
Since our main branch is currently sitting at v0.9, and there's a bunch of incoming PRs to merge, now is a good time to add a
CHANGELOG.md
for future releases.There are a number of different ways to go about this, but notably:
Option 1 (manual logging) could be done at the release level, or as @tbillington suggested, we could require each PR to maintain relevant changelog entries.
I'd like to distinguish between "release notes" and "changelog".
The changelog is meant for developpers or power-users who want to know on a fine-grained level what's happening in the repository and look at the relevant PRs.
Release notes are meant for the average user, explaining at a high-level what's new, what's changed and how to upgrade. By definition they must be written manually, and I'm committed to write these out myself when release time comes, regardless of how we decide to generate the changelog.