I'm stucking with this for a whole week and I didn't reach where i wanted. I'm thinking about having two branches:
-master
-release(we are calling it vNext - the whole company knows it by this name)
Master branch will generate the packages without prerelease tag. Release will generate the pre release version like:
=>master is on 1.0.0
=>Create a vNext(release) branch like: vNext/1.1.0
=> Code things needed here and commit;
=> Automatically my pipeline is triggered, because I've set the trigger to branch master, vNext or vNext/*
=> I want this to create a package like (1.1.0-beta1)
=>Create a pullRequest to master
=> Automatically my pipeline is triggered,
=> I want this to create a package like (1.1.0)
This is my gitVersion.yml
next-version: 1.0
mode: Mainline
legacy-semver-padding: 0
build-metadata-padding: 0
commits-since-version-source-padding: 0
assembly-versioning-scheme: MajorMinorPatch
assembly-file-versioning-scheme: MajorMinorPatchTag
assembly-informational-format: '{LegacySemVer}'
branches:
master:
regex: master
increment: Patch
prevent-increment-of-merged-branch-version: true
tag: ''
track-merge-target: false
tracks-release-branches: false
is-release-branch: false
release:
regex: vNext?[/-]
source-branches: ['master']
increment: Patch
prevent-increment-of-merged-branch-version: true
tag: beta
track-merge-target: false
tracks-release-branches: false
is-release-branch: true
I can't get this working fine. To reach where I'm now, I've already googled a lot even here in stackoverflow, but couldn't found a solution that fits in the scenario I need.