Make sure daily release tag does not change when retrying failures (#15286)

Co-authored-by: Aditya Patwardhan <adityap@microsoft.com>
This commit is contained in:
Travis Plunk 2021-04-22 16:30:51 -07:00 committed by GitHub
parent fc1d5ef096
commit aae705a3ac
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 8 deletions

View file

@ -2,8 +2,17 @@ parameters:
ReleaseTagVar: v6.2.0
ReleaseTagVarName: ReleaseTagVar
CreateJson: 'no'
UseJson: 'yes'
steps:
- ${{ if eq(parameters['UseJson'],'yes') }}:
- task: DownloadBuildArtifacts@0
inputs:
artifactName: 'BuildInfoJson'
itemPattern: '**/*.json'
downloadPath: '$(System.ArtifactsDirectory)'
displayName: Download Build Info Json
- powershell: |
$path = "./build.psm1"
@ -25,7 +34,7 @@ steps:
displayName: 'Set repo Root'
- powershell: |
$createJson = ("${{ parameters.ReleaseTagVarName }}" -ne "no")
$createJson = ("${{ parameters.CreateJson }}" -ne "no")
$releaseTag = & "$env:REPOROOT/tools/releaseBuild/setReleaseTag.ps1" -ReleaseTag ${{ parameters.ReleaseTagVar }} -Variable "${{ parameters.ReleaseTagVarName }}" -CreateJson:$createJson
$version = $releaseTag.Substring(1)
$vstsCommandString = "vso[task.setvariable variable=Version]$version"

View file

@ -12,9 +12,12 @@ jobs:
steps:
- checkout: self
clean: true
- template: SetVersionVariables.yml
parameters:
ReleaseTagVar: $(ReleaseTagVar)
CreateJson: yes
UseJson: no
- task: AzurePowerShell@4
inputs:

View file

@ -84,15 +84,23 @@ if($ReleaseTag -eq 'fromBranch' -or !$ReleaseTag)
{
$isDaily = $true
Write-Verbose "daily build" -Verbose
$metaDataJsonPath = Join-Path $PSScriptRoot -ChildPath '..\metadata.json'
$metadata = Get-Content $metaDataJsonPath | ConvertFrom-Json
$versionPart = $metadata.PreviewReleaseTag
if($versionPart -match '-.*$')
{
$versionPart = $versionPart -replace '-.*$'
$jsonPath = "${env:SYSTEM_ARTIFACTSDIRECTORY}\BuildInfoJson\daily.json"
if (test-path -Path $jsonPath) {
Write-Verbose "restoring from buildinfo json..." -Verbose
$buildInfo = Get-Content -Path $jsonPath | ConvertFrom-Json
$releaseTag = $buildInfo.ReleaseTag
} else {
Write-Verbose "creating from branch counter and metadata.json..." -Verbose
$metaDataJsonPath = Join-Path $PSScriptRoot -ChildPath '..\metadata.json'
$metadata = Get-Content $metaDataJsonPath | ConvertFrom-Json
$versionPart = $metadata.PreviewReleaseTag
if ($versionPart -match '-.*$') {
$versionPart = $versionPart -replace '-.*$'
}
$releaseTag = "$versionPart-daily$((Get-Date).ToString('yyyyMMdd')).$($env:BRANCHCOUNTER)"
}
$releaseTag = "$versionPart-daily$((Get-Date).ToString('yyyyMMdd')).$($env:BRANCHCOUNTER)"
$vstsCommandString = "vso[task.setvariable variable=$Variable]$releaseTag"
Write-Verbose -Message "setting $Variable to $releaseTag" -Verbose
Write-Host -Object "##$vstsCommandString"