I am using a gitversion for automatic versioning and it is working like a charm. I am using it for a nuget package and the develop creates a package with alpha tag and release branches create packages with beta tags. Problem occurs when I merge a PR to main - it always chooses 0.1.0 as a version. Probably just some setting in the config.. I am posting the config below, cheers !
mode: ContinuousDelivery
continuous-delivery-fallback-tag: '' # ci
major-version-bump-message: '\+semver:\s?(breaking|major)'
minor-version-bump-message: '\+semver:\s?(feature|minor)'
patch-version-bump-message: '\+semver:\s?(fix|patch)'
no-bump-message: '\+semver:\s?(none|skip)'
commit-message-incrementing: Enabled
branches:
main:
regex: ^master$|^main$
mode: ContinuousDelivery
tag: ''
increment: Patch
prevent-increment-of-merged-branch-version: true
source-branches:
- develop
- release
tracks-release-branches: false
is-release-branch: false
is-mainline: true
develop:
regex: ^dev(elop)?(ment)?$
mode: ContinuousDeployment
tag: alpha
increment: Minor
prevent-increment-of-merged-branch-version: false
tracks-release-branches: true
release:
regex: ^release?[/-]
mode: ContinuousDelivery
tag: beta
increment: None
prevent-increment-of-merged-branch-version: true
source-branches:
- develop
- main
- release
is-release-branch: true
feature:
regex: ^features?[/-]
mode: ContinuousDelivery
tag: useBranchName
increment: Inherit
prevent-increment-of-merged-branch-version: false
source-branches:
- develop
- main
- release
- feature
- hotfix
pull-request:
mode: ContinuousDelivery
tag: '' # PullRequest
increment: Inherit
prevent-increment-of-merged-branch-version: false
tag-number-pattern: '[/-](?<number>\d+)'
regex: ^(pull|pull\-requests|pr)[/-]
source-branches:
- develop
- main
- release
- feature
- hotfix
tracks-release-branches: false
is-release-branch: false
is-mainline: false
hotfix:
regex: ^hotfix(es)?[/-]
mode: ContinuousDelivery
tag: beta
increment: Patch
prevent-increment-of-merged-branch-version: false
source-branches:
- develop
- main
tracks-release-branches: false
is-release-branch: false
is-mainline: false
ignore:
sha: []
commit-date-format: yyyy-MM-dd
merge-message-formats: {}
update-build-number: true