azure-sdk-for-cpp/eng/common/scripts/Verify-ChangeLogs.ps1
Azure SDK Bot be8cf03ed0
Sync eng/common directory with azure-sdk-tools for PR 13193 (#6856)
* Fix property name for skipVerifyChangeLog

* Apply suggestion from @raych1

* Refactor ShouldVerifyChangeLog function condition

* Apply suggestion from @raych1

---------

Co-authored-by: Ray Chen <raychen@microsoft.com>
2025-12-04 10:17:01 -08:00

54 lines
1.3 KiB
PowerShell

# Wrapper Script for ChangeLog Verification in a PR
[CmdletBinding()]
param (
[String]$PackagePropertiesFolder,
[boolean]$ForRelease = $False
)
Set-StrictMode -Version 3
. (Join-Path $PSScriptRoot common.ps1)
function ShouldVerifyChangeLog ($PkgArtifactDetails) {
if ($PkgArtifactDetails) {
if ($PkgArtifactDetails.PSObject.Properties.Name -contains "skipVerifyChangeLog") {
if ($PkgArtifactDetails.skipVerifyChangeLog) {
return $false
}
}
return $true
}
return $false
}
# find which packages we need to confirm the changelog for
$packageProperties = Get-ChildItem -Recurse "$PackagePropertiesFolder" *.json
# grab the json file, then confirm the changelog entry for it
$allPassing = $true
foreach($propertiesFile in $packageProperties) {
$PackageProp = Get-Content -Path $propertiesFile | ConvertFrom-Json
if (-not (ShouldVerifyChangeLog $PackageProp.ArtifactDetails)) {
Write-Host "Skipping changelog verification for $($PackageProp.Name)"
continue
}
Write-Host "Verifying changelog for $($PackageProp.Name)"
$validChangeLog = Confirm-ChangeLogEntry -ChangeLogLocation $PackageProp.ChangeLogPath -VersionString $PackageProp.Version -ForRelease $ForRelease
if (-not $validChangeLog) {
$allPassing = $false
}
}
if (!$allPassing)
{
exit 1
}
exit 0