Skip to content

Commit d509f3c

Browse files
Update set-test-pipeline-version.yml to handle one or more packages (Azure#18556)
Co-authored-by: James Suplizio <[email protected]>
1 parent 88cedab commit d509f3c

File tree

2 files changed

+43
-27
lines changed

2 files changed

+43
-27
lines changed
Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
parameters:
22
PackageName: ''
3+
PackageNames: ''
34
ServiceDirectory: ''
45
TestPipeline: false
56

67
steps:
78
- ${{ if eq(parameters.TestPipeline, 'true') }}:
89
- task: PowerShell@2
910
displayName: Prep template pipeline for release
10-
condition: and(succeeded(), ne(variables['Skip.SetTestPipelineVersion'], 'true'))
11+
condition: and(succeeded(), ne(variables['Skip.SetTestPipelineVersion'], 'true'))
1112
inputs:
12-
pwsh: true
1313
workingDirectory: $(Build.SourcesDirectory)
1414
filePath: $(Build.SourcesDirectory)/eng/common/scripts/SetTestPipelineVersion.ps1
15-
arguments: '-BuildID $(Build.BuildId) -PackageName ${{ parameters.PackageName }} -ServiceDirectory ${{ parameters.ServiceDirectory }}'
15+
arguments: >
16+
-BuildID $(Build.BuildId)
17+
-PackageNames '${{ coalesce(parameters.PackageName, parameters.PackageNames) }}'
18+
-ServiceDirectory '${{ parameters.ServiceDirectory }}'
19+
pwsh: true

eng/common/scripts/SetTestPipelineVersion.ps1

Lines changed: 36 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,43 +2,55 @@
22

33
param (
44
[Parameter(mandatory = $true)]
5-
$BuildID,
5+
[string]$BuildID,
66
[Parameter(mandatory = $true)]
7-
$PackageName,
7+
[string]$PackageNames,
88
[Parameter(mandatory = $true)]
9-
$ServiceDirectory
9+
[string]$ServiceDirectory
1010
)
1111

1212
. (Join-Path $PSScriptRoot common.ps1)
1313

14-
Write-Host "PackageName: $PackageName"
14+
Write-Host "PackageNames: $PackageNames"
1515
Write-Host "ServiceDirectory: $ServiceDirectory"
1616
Write-Host "BuildID: $BuildID"
1717

18-
$newVersion = [AzureEngSemanticVersion]::new("1.0.0")
19-
$latestTags = git tag -l "${PackageName}_*"
18+
$packageNamesArray = @()
2019

21-
Write-Host "Get Latest Tag : git tag -l ${PackageName}_*"
22-
$semVars = @()
20+
if ([String]::IsNullOrWhiteSpace($PackageNames)) {
21+
LogError "PackageNames cannot be empty."
22+
exit 1
23+
} else {
24+
$packageNamesArray = $PackageNames.Split(',')
25+
}
26+
27+
foreach ($packageName in $packageNamesArray) {
28+
Write-Host "Processing $packageName"
29+
$newVersion = [AzureEngSemanticVersion]::new("1.0.0")
30+
$latestTags = git tag -l "${packageName}_*"
31+
32+
Write-Host "Get Latest Tag : git tag -l ${packageName}_*"
33+
$semVars = @()
2334

24-
if ($latestTags -and ($latestTags.Length -gt 0))
25-
{
26-
foreach ($tags in $latestTags)
35+
if ($latestTags -and ($latestTags.Length -gt 0))
2736
{
28-
$semVars += $tags.Replace("${PackageName}_", "")
37+
foreach ($tags in $latestTags)
38+
{
39+
$semVars += $tags.Replace("${packageName}_", "")
40+
}
41+
42+
$semVarsSorted = [AzureEngSemanticVersion]::SortVersionStrings($semVars)
43+
Write-Host "Last Published Version $($semVarsSorted[0])"
44+
$newVersion = [AzureEngSemanticVersion]::new($semVarsSorted[0])
2945
}
3046

31-
$semVarsSorted = [AzureEngSemanticVersion]::SortVersionStrings($semVars)
32-
Write-Host "Last Published Version $($semVarsSorted[0])"
33-
$newVersion = [AzureEngSemanticVersion]::new($semVarsSorted[0])
34-
}
35-
36-
$newVersion.PrereleaseLabel = $newVersion.DefaultPrereleaseLabel
37-
$newVersion.PrereleaseNumber = $BuildID
38-
$newVersion.IsPrerelease = $True
47+
$newVersion.PrereleaseLabel = $newVersion.DefaultPrereleaseLabel
48+
$newVersion.PrereleaseNumber = $BuildID
49+
$newVersion.IsPrerelease = $True
3950

40-
Write-Host "Version to publish [ $($newVersion.ToString()) ]"
51+
Write-Host "Version to publish [ $($newVersion.ToString()) ]"
4152

42-
SetPackageVersion -PackageName $PackageName `
43-
-Version $newVersion.ToString() `
44-
-ServiceDirectory $ServiceDirectory
53+
SetPackageVersion -PackageName $packageName `
54+
-Version $newVersion.ToString() `
55+
-ServiceDirectory $ServiceDirectory
56+
}

0 commit comments

Comments
 (0)