Is there a way to use PR to describe the auto-versioning behavior of semantic version instead of using Git Comment as control flow? There are a number of tools out there automatically increase the semantic version based on the Git Comment that follows the conventional commits format, but I really don’t like it because:
- As dev, I have to type
fix:
in git comment all the time, just to make a tiny one-character change or simply adding a temporary experimental change on mypersonal branch
. - As dev, I have to rebase the branch every time I merge in the latest develop branch. Because the tool we used is going to chronologically reading the commits (and merged commits) and see if and commit comments elevated the auto versioning from patch to minor/major changes. And rebase steps just adds more risks of human errors.
- As dev, I have to make sure all 50 commits are
fix:
, so it doesn’t accidentally increase the major/minor version. If 30th of my 50 commits affects the minor version and elevated my entire PR to minor version change, I have to fix it. - As PR reviewer, I have to review not only the code in the source file, but I have to review each individual commit comments (and I believe most PR reviewers did not have this discipline).
- As dev, it takes more efforts to fix the auto-versioning by amending the commit comments. As described before, if 30th commit elevated the PR to minor change and I want to lower it to patch, I have to do something special about it. I haven’t practice this btw because I just keep typing
fix:
to keep the version at patch level until the very end.
I wish to move the auto-versioning control logic up to the PR instead of scanning each little 50 commits I have done. That way,
- I can easily review the auto-versioning behavior using PR title or PR description.
- I can easily change the auto-versioning behavior without fiddling with commit comment.
- I can easily merge in the latest develop branch without rebase my branch to get the correct chronological view for the commit comment scanner.
Is there a way to do this for nodejs, Java, or dotnet repo? The PR is using bitbucket, but github solution is fine. I just want to know what tools are available.
Thank you