Skip to content

Commit

Permalink
Sync eng/common directory with azure-sdk-tools for PR 9290 (#2957)
Browse files Browse the repository at this point in the history
* identify and resolve missing function GenerateMatrixForConfig 
* identify and resolve miss-used null-coalesce operator

---------

Co-authored-by: Scott Beddall <[email protected]>
  • Loading branch information
azure-sdk and scbedd authored Oct 31, 2024
1 parent 2e985e0 commit f28bbcb
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
4 changes: 3 additions & 1 deletion eng/common/scripts/job-matrix/Create-PrJobMatrix.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,9 @@ $packageProperties = Get-ChildItem -Recurse "$PackagePropertiesFolder" *.json `

# set default matrix config for each package if there isn't an override
$packageProperties | ForEach-Object {
$_.CIMatrixConfigs = $_.CIMatrixConfigs ?? $configs
if (-not $_.CIMatrixConfigs) {
$_.CIMatrixConfigs = $configs
}
}

# The key here is that after we group the packages by the matrix config objects, we can use the first item's MatrixConfig
Expand Down
25 changes: 25 additions & 0 deletions eng/common/scripts/job-matrix/job-matrix-functions.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -740,3 +740,28 @@ function Get4dMatrixIndex([int]$index, [Array]$dimensions) {
return @($page3, $page2, $page1, $remainder)
}

function GenerateMatrixForConfig {
param (
[Parameter(Mandatory = $true)][string] $ConfigPath,
[Parameter(Mandatory = $True)][string] $Selection,
[Parameter(Mandatory = $false)][string] $DisplayNameFilter,
[Parameter(Mandatory = $false)][array] $Filters,
[Parameter(Mandatory = $false)][array] $Replace
)
$matrixFile = Join-Path $PSScriptRoot ".." ".." ".." ".." $ConfigPath

$resolvedMatrixFile = Resolve-Path $matrixFile

$config = GetMatrixConfigFromFile (Get-Content $resolvedMatrixFile -Raw)
# Strip empty string filters in order to be able to use azure pipelines yaml join()
$Filters = $Filters | Where-Object { $_ }

[array]$matrix = GenerateMatrix `
-config $config `
-selectFromMatrixType $Selection `
-displayNameFilter $DisplayNameFilter `
-filters $Filters `
-replace $Replace

return , $matrix
}

0 comments on commit f28bbcb

Please sign in to comment.