Skip to content

Commit 115541a

Browse files
jshigetomiJustin Chung
andauthored
[release/v7.7.0-preview.1] Fix changelog grab failure when only one header exists. (#27372)
Co-authored-by: Justin Chung <chungjustin@microsoft.com>
1 parent ead21d9 commit 115541a

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

.pipelines/templates/release-githubNuget.yml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,11 +89,21 @@ jobs:
8989
$changelog = Get-Content -Path $filePath
9090

9191
$headingPattern = "^## \[\d+\.\d+\.\d+"
92-
$headingStartLines = $changelog | Select-String -Pattern $headingPattern | Select-Object -ExpandProperty LineNumber
92+
$headingStartLines = @($changelog | Select-String -Pattern $headingPattern | Select-Object -ExpandProperty LineNumber)
93+
94+
if ($headingStartLines.Count -eq 0) {
95+
throw "No release heading matching '$headingPattern' found in $filePath"
96+
}
97+
9398
$startLine = $headingStartLines[0]
94-
$endLine = $headingStartLines[1] - 1
95-
96-
$clContent = $changelog | Select-Object -Skip ($startLine-1) -First ($endLine - $startLine) | Out-String
99+
if ($headingStartLines.Count -ge 2) {
100+
$endLine = $headingStartLines[1] - 1
101+
} else {
102+
# Only one release heading present; take through end of file.
103+
$endLine = $changelog.Count
104+
}
105+
106+
$clContent = $changelog | Select-Object -Skip ($startLine-1) -First ($endLine - $startLine + 1) | Out-String
97107

98108
$StringBuilder = [System.Text.StringBuilder]::new($clContent, $clContent.Length + 2kb)
99109
$StringBuilder.AppendLine().AppendLine() > $null

0 commit comments

Comments
 (0)