Sync eng/common directory with azure-sdk-tools for PR 9381 (#6239)

* change our verifyChangelogs over to utilizing the artifact details. if we don't have an artifact details at all, don't verify changelog. if we do, but skipverifychangelog is present, don't verify changelog. if we have artifact details, but no disable, verify the changelog

---------

Co-authored-by: Scott Beddall <scbedd@microsoft.com>
This commit is contained in:
Azure SDK Bot 2024-11-18 15:13:17 -08:00 committed by GitHub
parent 9464edce03
commit 8f6ea6b9b8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -7,30 +7,17 @@ Set-StrictMode -Version 3
. (Join-Path $PSScriptRoot common.ps1)
function ShouldVerifyChangeLog ($ServiceDirectory, $PackageName) {
$jsonCiYmlPath = Join-Path $ServiceDirectory "ci.yml"
if (Test-Path $jsonCiYmlPath)
{
$ciYml = Get-Content $jsonCiYmlPath -Raw | yq -o=json | ConvertFrom-Json -AsHashTable
if ($ciYml.extends -and $ciYml.extends.parameters -and $ciYml.extends.parameters.Artifacts) {
$packagesCheckingChangeLog = $ciYml.extends.parameters.Artifacts `
| Where-Object { -not ($_["skipVerifyChangelog"] -eq $true) } `
| Select-Object -ExpandProperty name
if ($packagesCheckingChangeLog -contains $PackageName)
{
return $true
} else {
return $false
}
}
function ShouldVerifyChangeLog ($PkgArtifactDetails) {
if ($PkgArtifactDetails) {
if ($PkgArtifactDetails.PSObject.Properties["skipVerifyChangeLog"] -eq $true) {
return $false
}
}
if (-not (Get-Command 'yq' -ErrorAction SilentlyContinue)) {
Write-Host "Error: 'yq' is not installed or not found in PATH. Please remedy this before running this script."
exit 1
return $true
}
return $false
}
# find which packages we need to confirm the changelog for
@ -41,7 +28,7 @@ $allPassing = $true
foreach($propertiesFile in $packageProperties) {
$PackageProp = Get-Content -Path $propertiesFile | ConvertFrom-Json
if (-not (ShouldVerifyChangeLog -ServiceDirectory (Join-Path $RepoRoot "sdk" $PackageProp.ServiceDirectory) -PackageName $PackageProp.Name)) {
if (-not (ShouldVerifyChangeLog $PackageProp.ArtifactDetails)) {
Write-Host "Skipping changelog verification for $($PackageProp.Name)"
continue
}