From 91754012935ba5de4eb11a9900c8e5613892ede7 Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Fri, 9 Mar 2018 12:40:35 -0800 Subject: [PATCH] make setreleasetag handle all cases --- tools/releaseBuild/setReleaseTag.ps1 | 33 +++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/tools/releaseBuild/setReleaseTag.ps1 b/tools/releaseBuild/setReleaseTag.ps1 index 581e2060beb..ef45c87bad4 100644 --- a/tools/releaseBuild/setReleaseTag.ps1 +++ b/tools/releaseBuild/setReleaseTag.ps1 @@ -10,13 +10,36 @@ param( ) # Script to set the release tag based on the branch name if it is not set or it is "fromBranch" -# the branch name is expected to be release- +# the branch name is expected to be release- or # VSTS passes it as 'refs/heads/release-v6.0.2' +$branchOnly = $Branch -replace '^refs/heads/'; + if($ReleaseTag -eq 'fromBranch' -or !$ReleaseTag) { - $releaseTag = $Branch -replace '^.*(release-)' - $vstsCommandString = "vso[task.setvariable variable=$Variable]$releaseTag" - Write-Verbose -Message "setting $Variable to $releaseTag" -Verbose - Write-Host -Object "##$vstsCommandString" + # Branch is named release- + if($Branch -match '^.*(release-)') + { + $releaseTag = $branchOnly -replace '^.*(release-)' + $vstsCommandString = "vso[task.setvariable variable=$Variable]$releaseTag" + Write-Verbose -Message "setting $Variable to $releaseTag" -Verbose + Write-Host -Object "##$vstsCommandString" + } + else + { + # Branch is named + # Get version from metadata and append - + $metaDataJsonPath = Join-Path $PSScriptRoot -ChildPath '..\metadata.json' + $metadata = Get-content $metaDataJsonPath | ConvertFrom-Json + $versionPart = $metadata.NextReleaseTag + if($versionPart -match '-.*$') + { + $versionPart = $versionPart -replace '-.*$' + } + + $releaseTag = "$versionPart-$branchOnly" + $vstsCommandString = "vso[task.setvariable variable=$Variable]$releaseTag" + Write-Verbose -Message "setting $Variable to $releaseTag" -Verbose + Write-Host -Object "##$vstsCommandString" + } }