After a lot of work, time and effort, we were able to release commitizen v1.19 which includes automatic changelog generation.
pip install -U commitizen
With this release the cycle is complete, commitizen now supports:
- custom commit rules
- automatic version bump based on the rules
- automatic changelog generation
- git hook to check that the commit is valid
By default the system is using conventional commits but you can come up with your own rules.
For starters the configuration is straightforward, first, start with:
It will prompt the user for information about the repo and based on that it will generate the
toml configuration file.
Once that is done, after you've done some commits complying with the rules, simply run:
cz bump --changelog
You can execute that command in your CI and then push the changes.
For more in-depth explanations, check the documentation.
I hope this tool helps you automate your systems and relief you of some repetitive tasks.
Check commmitizen's github for some github actions, the repo is auto publishing docs, releases to pypi, testing, etc.