mirror of
https://github.com/PowerShell/PowerShell
synced 2026-06-08 12:12:50 +00:00
Fix changelog grab failure when only one header exists. (#27371)
Co-authored-by: Justin Chung <chungjustin@microsoft.com>
This commit is contained in:
co-authored by
Justin Chung
parent
65e6a8055c
commit
d356e3f0e2
@@ -89,11 +89,21 @@ jobs:
|
||||
$changelog = Get-Content -Path $filePath
|
||||
|
||||
$headingPattern = "^## \[\d+\.\d+\.\d+"
|
||||
$headingStartLines = $changelog | Select-String -Pattern $headingPattern | Select-Object -ExpandProperty LineNumber
|
||||
$headingStartLines = @($changelog | Select-String -Pattern $headingPattern | Select-Object -ExpandProperty LineNumber)
|
||||
|
||||
if ($headingStartLines.Count -eq 0) {
|
||||
throw "No release heading matching '$headingPattern' found in $filePath"
|
||||
}
|
||||
|
||||
$startLine = $headingStartLines[0]
|
||||
$endLine = $headingStartLines[1] - 1
|
||||
|
||||
$clContent = $changelog | Select-Object -Skip ($startLine-1) -First ($endLine - $startLine) | Out-String
|
||||
if ($headingStartLines.Count -ge 2) {
|
||||
$endLine = $headingStartLines[1] - 1
|
||||
} else {
|
||||
# Only one release heading present; take through end of file.
|
||||
$endLine = $changelog.Count
|
||||
}
|
||||
|
||||
$clContent = $changelog | Select-Object -Skip ($startLine-1) -First ($endLine - $startLine + 1) | Out-String
|
||||
|
||||
$StringBuilder = [System.Text.StringBuilder]::new($clContent, $clContent.Length + 2kb)
|
||||
$StringBuilder.AppendLine().AppendLine() > $null
|
||||
|
||||
Reference in New Issue
Block a user