-
Notifications
You must be signed in to change notification settings - Fork 27
chore: adopt conventional commits standard #666
chore: adopt conventional commits standard #666
Conversation
The goal of adopting the conventional commits standard is to simplify management of semantic versioning. The metadata provided by commit messages can guide which releases are MAJOR, MINOR, and PATCH. As well as give details needed to create CHANGELOGs in a rapid release cycle. To further aid the process, this adopts the types and formatting recommendations laid out by the Angular project.
I am not familiar with the details of this but the general philosophy as I understand it sounds good. |
We've been interested in things that would allow us to automate (or at least simplify) changelogs. This looks like it's worth some research. However, I hesitate to approve just because of the PR number 😈 |
It would work okay. I believe "Squash and Commit" allows for editing the message, so the messages could still follow the conventional commits format. 📝 |
Also to be clear. Another could be adding a |
So, the label the pull requests solution, that's not sufficiently simplifying figuring out patch vs minor vs major in releasing. Because we're not doing it. That practice isn't documented in this repo, and it's not reminded of in the contributing guidance or the pull request template. So. Would that labeling meet the need if we doubled down on consistently doing it? |
In practice, we haven't been labeling our PR's, and I'm fine with that. It's been easy enough to manually go back and take a look and appropriately version the product. My thought process is - I like the idea and like the thought of automating some change logs. A little bit of thinking of the type of changes we make is healthy. I also don't like automated change logs and prefer the human touch in release notes and I'm hesitant to add a check that a developer might have to look into and parse. So far, I'm at the point where I'm either a +1 or a no-vote on this. I would +1 the addition of a changelog with updated documentation stating our intentions. |
🤔 @apetro It would help. However, If both labels, and a milestone for the next release are used, that could work out nicely. 👍 The way I look at it there are two differentiating factors between: conventional commits, keep a changelog, and tag + milestone.
For Conventional Commits:
For Keep a Changelog:
For Tag + Milestone:
I personally lean toward having Contributors add the information, and Maintainers review it. |
I completely agree that a human touch is needed. |
@vertein I've opened #671 to add a human maintained Even without it being used to create For example picking at one of my own commit messages. fc86bf6
The message does communicate the intent, reducing build time.
It would effectively communicate the scope of the change. |
commitizen helps automatically generate conventional commit messages
I've also added commitizen, a CLI tool that can help generate conventional commit messages. |
In-scope for backlogged MUMMNG-3765, which would track in MyUW Scrum allocating MyUW team attention to engaging with this. This isn't to say this can't naturally go to completion sooner; it is to say that it shouldn't be able to languish many more weeks before Scrum marshals engagement from MyUW team members. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. I pulled this down and played with a bit. I'm happy that we added commitzen. From my few tests, it seems pretty easy to work with.
Unfortunately since this was out here for a while, there are some new merge conflicts.
Resynced with |
uPortal-home is now recognized on https://conventionalcommits.org/ . |
Hey @UW-Madison-DoIT/uportal-home-committers 👋
I've been thinking lately about how to manage releases, while looking at how other open source projects have been approaching the problem, I came across conventional commits. 👀
The goal the conventional commits standard is to simplify management of semantic versioning. Metadata provided by commit messages is used to guide releases as MAJOR, MINOR, or PATCH. As well as give details needed to create CHANGELOGs in a rapid release cycle. ⏩
It seems like the standard could be a good fit with the existing processes and culture at Madison. ⭐
I'd be interested to hear your thoughts on whether adopting conventional commits could be a good idea. 💭
Technical changes in this PR:
Contributor License Agreement adherence: