Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GitVersion configuration is not incrementing

I'm trying to setup GitVersion to handle our project's semantic versioning (GitFlow), but it's not incrementing automatically as I'm expecting. I'm also struggling with reading the project's documentation, it's not the easiest to follow.

Basically we're hoping to setup a versioning system with Major.Minor.Patch convention, where we increment Major manually, Minor automatically when a release branch gets merged into master, and Patch automatically when a feature branch gets merged into develop.

Here is my current GitVersion.yml

mode: ContinuousDeployment
branches:
  feature:
    increment: Patch
    regex: feature?[/-]
  release:
    increment: Minor
    regex: release?[/-]
  develop:
    regex: develop$
  master:
    regex: master$
ignore:
  sha: []

Also to test it I wrote a small ruby script to speed up the tedious process. I included it just to make sure I'm using GitVersion and GitFlow in the intended way.

require "git"

def new_feature_branch i
  g = Git.open(Dir.pwd)

  branch_name = "feature/number-#{i}"
  g.checkout("develop")
  g.branch(branch_name).checkout

  open('README.md', 'a') do |f|
    f.puts "\r#{i}"
  end

  g.add("README.md")
  g.commit("##{i}")

  g.branch("develop").checkout
  g.merge(branch_name)
  g.branch(branch_name).delete

  print(`gitversion`)
end


new_feature_branch(ARGV[0])

Output of gitversion

{
  "Major":1,
  "Minor":1,
  "Patch":0,
  "PreReleaseTag":"alpha.39",
  "PreReleaseTagWithDash":"-alpha.39",
  "PreReleaseLabel":"alpha",
  "PreReleaseNumber":39,
  "WeightedPreReleaseNumber":39,
  "BuildMetaData":"",
  "BuildMetaDataPadded":"",
  "FullBuildMetaData":"Branch.develop.Sha.57a536a5c6b6abb4313a2067468413447cb49c86",
  "MajorMinorPatch":"1.1.0",
  "SemVer":"1.1.0-alpha.39",
  "LegacySemVer":"1.1.0-alpha39",
  "LegacySemVerPadded":"1.1.0-alpha0039",
  "AssemblySemVer":"1.1.0.0",
  "AssemblySemFileVer":"1.1.0.0",
  "FullSemVer":"1.1.0-alpha.39",
  "InformationalVersion":"1.1.0-alpha.39+Branch.develop.Sha.57a536a5c6b6abb4313a2067468413447cb49c86",
  "BranchName":"develop",
  "Sha":"57a536a5c6b6abb4313a2067468413447cb49c86",
  "ShortSha":"57a536a",
  "NuGetVersionV2":"1.1.0-alpha0039",
  "NuGetVersion":"1.1.0-alpha0039",
  "NuGetPreReleaseTagV2":"alpha0039",
  "NuGetPreReleaseTag":"alpha0039",
  "VersionSourceSha":"27938c50fc6f364eff52bccec8dbc10297bce87b",
  "CommitsSinceVersionSource":39,
  "CommitsSinceVersionSourcePadded":"0039",
  "CommitDate":"2019-10-28"
}

The problem I'm expecting the Patch number to increment each time I merge a feature branch into develop but that isn't happening.

like image 692
Ryan Grush Avatar asked Oct 28 '19 16:10

Ryan Grush


1 Answers

There are still some minor issues but this config setting is working much more as I intended.

mode: Mainline
tag-prefix: '[vV]'
commit-message-incrementing: MergeMessageOnly
branches:
  feature:
    regex: feature?[/-]
    source-branches: ['develop']
  release:
    increment: Minor
    regex: release?[/-]
  develop:
    is-mainline: true
    increment: Patch
    regex: develop$
  master:
    regex: master$
like image 128
Ryan Grush Avatar answered Sep 17 '22 12:09

Ryan Grush