Commit-Increment is a Go library and a GitHub Action that identifies the increment level from conventional commit messages.
The Commit Increment Action determines the version increment level based on commit messages. It uses patterns for major and minor version increments, which can be customized.
major_pattern: Pattern for major version increment. Default is 'MAJOR:'.minor_pattern: Pattern for minor version increment. Default is 'MINOR:'.install_go: Whether to install Go. Default is 'true'.
increment_level: The determined version increment level.- Possible ouputs:
major,minorand defaults topatchwhen there is no match
steps:
- name: Determine version increment level
id: increment
uses: your-github-username/commit-increment@v1
with:
major_pattern: 'Major:'
minor_pattern: 'Minor:'
install_go: 'true'
- name: Use increment level
run: echo "The increment level is ${{ steps.increment.outputs.increment_level }}"Opinionated Conventional Commit
major_pattern: "^((build|ci|docs|feat|fix|perf|refactor|test)(\([a-z 0-9,.\-]+\))?!: [\w \(\),:.;\-#&']+|\nBREAKING CHANGES: [\w \(\),:.;\-#&']+)$"
# See https://regex101.com/r/ORB9yp/1
minor_pattern: "^(feat)(\([a-z 0-9,.\-]+\))?!?: [\w \(\),:.;\-#&']+$"
# See https://regex101.com/r/pBspGO/1Simplified Conventional Commit
major_pattern: ".*!:.*"
minor_pattern: "^feat:.*:" major_pattern: "Major:"
minor_pattern: "Minor:"