Update set-test-pipeline-version.yml to handle one or more packages (#3814)
Co-authored-by: James Suplizio <jasupliz@microsoft.com>
This commit is contained in:
parent
0c12c92311
commit
9ec257d9dd
@ -1,5 +1,6 @@
|
||||
parameters:
|
||||
PackageName: ''
|
||||
PackageNames: ''
|
||||
ServiceDirectory: ''
|
||||
TestPipeline: false
|
||||
|
||||
@ -7,9 +8,12 @@ steps:
|
||||
- ${{ if eq(parameters.TestPipeline, 'true') }}:
|
||||
- task: PowerShell@2
|
||||
displayName: Prep template pipeline for release
|
||||
condition: and(succeeded(), ne(variables['Skip.SetTestPipelineVersion'], 'true'))
|
||||
condition: and(succeeded(), ne(variables['Skip.SetTestPipelineVersion'], 'true'))
|
||||
inputs:
|
||||
pwsh: true
|
||||
workingDirectory: $(Build.SourcesDirectory)
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/scripts/SetTestPipelineVersion.ps1
|
||||
arguments: '-BuildID $(Build.BuildId) -PackageName ${{ parameters.PackageName }} -ServiceDirectory ${{ parameters.ServiceDirectory }}'
|
||||
arguments: >
|
||||
-BuildID $(Build.BuildId)
|
||||
-PackageNames '${{ coalesce(parameters.PackageName, parameters.PackageNames) }}'
|
||||
-ServiceDirectory '${{ parameters.ServiceDirectory }}'
|
||||
pwsh: true
|
||||
|
||||
@ -2,43 +2,55 @@
|
||||
|
||||
param (
|
||||
[Parameter(mandatory = $true)]
|
||||
$BuildID,
|
||||
[string]$BuildID,
|
||||
[Parameter(mandatory = $true)]
|
||||
$PackageName,
|
||||
[string]$PackageNames,
|
||||
[Parameter(mandatory = $true)]
|
||||
$ServiceDirectory
|
||||
[string]$ServiceDirectory
|
||||
)
|
||||
|
||||
. (Join-Path $PSScriptRoot common.ps1)
|
||||
|
||||
Write-Host "PackageName: $PackageName"
|
||||
Write-Host "PackageNames: $PackageNames"
|
||||
Write-Host "ServiceDirectory: $ServiceDirectory"
|
||||
Write-Host "BuildID: $BuildID"
|
||||
|
||||
$newVersion = [AzureEngSemanticVersion]::new("1.0.0")
|
||||
$latestTags = git tag -l "${PackageName}_*"
|
||||
$packageNamesArray = @()
|
||||
|
||||
Write-Host "Get Latest Tag : git tag -l ${PackageName}_*"
|
||||
$semVars = @()
|
||||
|
||||
if ($latestTags -and ($latestTags.Length -gt 0))
|
||||
{
|
||||
foreach ($tags in $latestTags)
|
||||
{
|
||||
$semVars += $tags.Replace("${PackageName}_", "")
|
||||
}
|
||||
|
||||
$semVarsSorted = [AzureEngSemanticVersion]::SortVersionStrings($semVars)
|
||||
Write-Host "Last Published Version $($semVarsSorted[0])"
|
||||
$newVersion = [AzureEngSemanticVersion]::new($semVarsSorted[0])
|
||||
if ([String]::IsNullOrWhiteSpace($PackageNames)) {
|
||||
LogError "PackageNames cannot be empty."
|
||||
exit 1
|
||||
} else {
|
||||
$packageNamesArray = $PackageNames.Split(',')
|
||||
}
|
||||
|
||||
$newVersion.PrereleaseLabel = $newVersion.DefaultPrereleaseLabel
|
||||
$newVersion.PrereleaseNumber = $BuildID
|
||||
$newVersion.IsPrerelease = $True
|
||||
foreach ($packageName in $packageNamesArray) {
|
||||
Write-Host "Processing $packageName"
|
||||
$newVersion = [AzureEngSemanticVersion]::new("1.0.0")
|
||||
$latestTags = git tag -l "${packageName}_*"
|
||||
|
||||
Write-Host "Version to publish [ $($newVersion.ToString()) ]"
|
||||
Write-Host "Get Latest Tag : git tag -l ${packageName}_*"
|
||||
$semVars = @()
|
||||
|
||||
SetPackageVersion -PackageName $PackageName `
|
||||
-Version $newVersion.ToString() `
|
||||
-ServiceDirectory $ServiceDirectory
|
||||
if ($latestTags -and ($latestTags.Length -gt 0))
|
||||
{
|
||||
foreach ($tags in $latestTags)
|
||||
{
|
||||
$semVars += $tags.Replace("${packageName}_", "")
|
||||
}
|
||||
|
||||
$semVarsSorted = [AzureEngSemanticVersion]::SortVersionStrings($semVars)
|
||||
Write-Host "Last Published Version $($semVarsSorted[0])"
|
||||
$newVersion = [AzureEngSemanticVersion]::new($semVarsSorted[0])
|
||||
}
|
||||
|
||||
$newVersion.PrereleaseLabel = $newVersion.DefaultPrereleaseLabel
|
||||
$newVersion.PrereleaseNumber = $BuildID
|
||||
$newVersion.IsPrerelease = $True
|
||||
|
||||
Write-Host "Version to publish [ $($newVersion.ToString()) ]"
|
||||
|
||||
SetPackageVersion -PackageName $packageName `
|
||||
-Version $newVersion.ToString() `
|
||||
-ServiceDirectory $ServiceDirectory
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user