Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 28 additions & 5 deletions tools/releaseBuild/setReleaseTag.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -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-<semver>
# the branch name is expected to be release-<semver> or <previewname>
# 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-<semver>
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 <previewname>
# Get version from metadata and append -<previewname>
$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"
}
}