azure-sdk-for-cpp/eng/common/scripts/Verify-ChangeLogs.ps1
Azure SDK Bot 243b4de513
Sync eng/common directory with azure-sdk-tools for PR 13102 (#6851)
* Added forRelease input parameter

* Added 'forRelease' to template

* Added log

---------

Co-authored-by: ray chen <raychen@microsoft.com>
2025-12-02 14:34:01 -08:00

52 lines
1.2 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["skipVerifyChangeLog"] -eq $true) {
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