Use convention to derive a SemVer product version from a GitFlow based repository
arturcic on 5.3.6
But, I joined gitter to ask specifically about monorepos.
I have a large monorepo that I would like to try and tackle if possible. I see some mention of using tag prefixes.
Lets say I have the following
SuperSolution\
\SuperLibraryThing (NuGet package)
\AnotherLibraryThing (NuGet package)
\SuperApp (ASP.NET Core web app)
I assume I would potentially have a different GitVersion.yml in each of those folders, and I would perhaps set tag-prefix: superlibrarything for the first GitConfig.yml, tag-prefix: anotherlibrarything, for the second, etc
@PatrickBig you should had the following to your YAML:
variables:
GitVersion.SemVer: ''
GitVersion.AssemblySemVer: ''
GitVersion.MajorMinorPatch: ''
GitVersion.InformationalVersion: ''
steps:
task: gitversion/setup@0
inputs:
versionSpec: '5.x'
displayName: 'GitVersion setup'
task: gitversion/execute@0
displayName: 'GitVersion execute'
task: DotNetCoreCLI@2
displayName: 'dotnet build'
inputs:
command: 'build'
projects: '$(project)'
arguments: '/p:Version=$(GitVersion.SemVer)
/p:AssemblyVersion=$(GitVersion.AssemblySemVer)
/p:FileVersion=$(GitVersion.MajorMinorPatch)
/p:InformationalVersion=$(GitVersion.InformationalVersion)
--configuration $(buildConfiguration)'
mode: ContinuousDelivery
continuous-delivery-fallback-tag: ''
branches: {}
ignore:
sha: []
merge-message-formats: {}
0.1.0
on master. Created hotfixes/0.1.1
from master
.
hotfixes/0.1.1
, which GitVersion asserted as 0.1.1-beta.1+71. Perfect.
0.1.1-beta.1
(I'm following the GitFlow example here https://gitversion.net/docs/git-branching-strategies/gitflow-examples#hotfix-branches)
refs/heads/pull/943/merge
is not going to be providing GitVersion with an accurate history to work off of.
id
of the step to gitversion
Hey all, I'm trying to get GitVersion to install on my build server (linux) but having some trouble. Most likely due to my proxy setup at the company I work at.
If I use the GitTools/setup task I get a timeout. Anything else that needs to reach the internet doesn't seem to have any problems. Any advise?
Another route I was trying to do was to just pre-install on the agent. But using
dotnet tool install -g GitVersion.Tool
Didn't seem to help
Hi all :-) I have a small problem with the configuration from the documentation: https://gitversion.readthedocs.io/en/latest/input/docs/configuration/
There, in the chapter assembly-file-versioning-format the following is given as an example:
assembly-file-versioning-format: '{Major}.{Minor}.{Patch}.{WeightedPreReleaseNumber ?? 0}'
If I use this configuration with the Mainline Mode in our Azure DevOps with the BuildTask GitVersion the following error message appears:
Unable to format AssemblyFileVersioningFormat. Check your format string: 'WeightedPreReleaseNumber ?? 0' is not a member of type 'GitVersion.SemanticVersionFormatValues'
Does anyone have an idea?
I thank you in advance and look forward to your answers. Greetings Pete
assembly-file-versioning-format: '{Major}.{Minor}.{Patch}.{WeightedPreReleaseNumber ?? 0}'
should work. Here's a relevant test: https://github.com/GitTools/GitVersion/blob/f6bc10b11f2ae5218bbeb3fc448b9510fa721aa9/src/GitVersionCore.Tests/Extensions/StringFormatWithExtensionTests.cs#L219-L226
{Major}.{Minor}.{Patch}.{WeightedPreReleaseNumber ?? 0}
, which we of course should do. If you can create a PR with that test, that would be great. If not, perhaps I can look into it tonight.