This project uses Release it! to automate versioning and utilizes Commitizen to generate consistent and meaningful changelogs.
There is a demo repository available with an explanation and some example flows.
In short:
- Features and bug fixes should be merged into
develop
with a Commitizen friendly commit message. - When generating a new release, a new branch
release/[branch-name]
should be created fromdevelop
. In GitHub this will trigger theRelease
action, which will run Release it! Then the branch can be merged tomain
. - Don't forget to merge
main
back intodevelop
when complete.
The release/[branch-name]
step is crucial, as you may have other important actions listening to the main
branch, like deploying or publishing your latest application. If the Release
action were to run on main
, it would effectively mean your actions are triggered twice, as it generates another commit.