diff --git a/.github/scripts/GenerateVersionNumber.ps1 b/.github/scripts/GenerateVersionNumber.ps1 index 276f9e4..82d919c 100644 --- a/.github/scripts/GenerateVersionNumber.ps1 +++ b/.github/scripts/GenerateVersionNumber.ps1 @@ -3,14 +3,18 @@ if ($tagCount -eq 0) { $latestVersion = "0.0.0" } else { - $latestVersions = $(git describe --tags $(git rev-list --tags='*.*.*' --max-count=10) --abbrev=0) - $latestVersion = "" + $latestVersions = $(git describe --tags $(git tag --merged master) --abbrev=0) + $latestVersion = [version]"0.0.0" Foreach ($version in $latestVersions) { - Write-Output $version - if ($version -match '^[1-9]+.\d+.\d+$') { - $latestVersion = $version - Write-Output "Setting latest version to: $latestVersion" - break + Write-Host $version + try { + if (([version]$version) -ge $latestVersion) { + $latestVersion = $version + Write-Host "Setting latest version to: $latestVersion" + } + } catch { + Write-Host "Unable to convert $($version). Skipping" + continue; } } } @@ -18,7 +22,7 @@ $newVersion = [version]$latestVersion $phase = "" $newVersionString = "" switch -regex ($Env:GITHUB_REF) { - '^refs\/heads\/master\/*.' { + '^refs\/heads\/master*.' { $newVersionString = "{0}.{1}.{2}" -f $newVersion.Major, $newVersion.Minor, ($newVersion.Build + 1) } '^refs\/heads\/feature\/*.' { @@ -27,7 +31,7 @@ switch -regex ($Env:GITHUB_REF) { '^refs\/heads\/release\/*.' { $phase = 'rc' } - '^refs\/heads\/development\/*.' { + '^refs\/heads\/development*.' { $phase = 'beta' } '^refs\/heads\/hotfix\/*.' {