Skip to content

Commit 7e04e5e

Browse files
refactor: Replace Write-Output with Write-Host for consistent output handling
1 parent 267df3f commit 7e04e5e

File tree

4 files changed

+92
-91
lines changed

4 files changed

+92
-91
lines changed

.github/linters/.powershell-psscriptanalyzer.psd1

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
}
5151
}
5252
ExcludeRules = @(
53+
'PSAvoidUsingWriteHost', # This action runs on GitHub Actions which supports Write-Host.
5354
'PSMissingModuleManifestField', # This rule is not applicable until the module is built.
5455
'PSUseToExportFieldsInManifest'
5556
)

src/cleanup.ps1

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,32 +14,32 @@ if ([string]::IsNullOrWhiteSpace($prereleaseName)) {
1414

1515
LogGroup "Cleanup prereleases for [$prereleaseName]" {
1616
if ([string]::IsNullOrWhiteSpace($prereleaseTagsToCleanup)) {
17-
Write-Output "No prereleases found to cleanup for [$prereleaseName]."
17+
Write-Host "No prereleases found to cleanup for [$prereleaseName]."
1818
return
1919
}
2020

2121
$tagsToDelete = $prereleaseTagsToCleanup -split ',' | Where-Object { -not [string]::IsNullOrWhiteSpace($_) }
2222

2323
if ($tagsToDelete.Count -eq 0) {
24-
Write-Output "No prereleases found to cleanup for [$prereleaseName]."
24+
Write-Host "No prereleases found to cleanup for [$prereleaseName]."
2525
return
2626
}
2727

28-
Write-Output "Found $($tagsToDelete.Count) prereleases to cleanup:"
29-
$tagsToDelete | ForEach-Object { Write-Output " - $_" }
30-
Write-Output ''
28+
Write-Host "Found $($tagsToDelete.Count) prereleases to cleanup:"
29+
$tagsToDelete | ForEach-Object { Write-Host " - $_" }
30+
Write-Host ''
3131

3232
foreach ($tag in $tagsToDelete) {
33-
Write-Output "Deleting prerelease: [$tag]"
33+
Write-Host "Deleting prerelease: [$tag]"
3434
if ($whatIf) {
35-
Write-Output "WhatIf: gh release delete $tag --cleanup-tag --yes"
35+
Write-Host "WhatIf: gh release delete $tag --cleanup-tag --yes"
3636
} else {
3737
gh release delete $tag --cleanup-tag --yes
3838
if ($LASTEXITCODE -ne 0) {
3939
Write-Error "Failed to delete release [$tag]."
4040
exit $LASTEXITCODE
4141
}
42-
Write-Output "Successfully deleted release [$tag]."
42+
Write-Host "Successfully deleted release [$tag]."
4343
}
4444
}
4545

src/init.ps1

Lines changed: 59 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ LogGroup 'Load inputs' {
2929
} else {
3030
$env:PSMODULE_PUBLISH_PSMODULE_INPUT_Name
3131
}
32-
Write-Output "Module name: [$name]"
32+
Write-Host "Module name: [$name]"
3333
}
3434

3535
LogGroup 'Set configuration' {
@@ -83,10 +83,10 @@ LogGroup 'Event information - Details' {
8383
}
8484
$prHeadRef = $pull_request.head.ref
8585

86-
Write-Output '-------------------------------------------------'
87-
Write-Output "PR Head Ref: [$prHeadRef]"
88-
Write-Output "ReleaseType: [$releaseType]"
89-
Write-Output '-------------------------------------------------'
86+
Write-Host '-------------------------------------------------'
87+
Write-Host "PR Head Ref: [$prHeadRef]"
88+
Write-Host "ReleaseType: [$releaseType]"
89+
Write-Host '-------------------------------------------------'
9090
}
9191

9292
LogGroup 'Pull request - details' {
@@ -122,7 +122,7 @@ LogGroup 'Determine release configuration' {
122122
# Check for ignore labels that override the release type
123123
$ignoreRelease = ($labels | Where-Object { $ignoreLabels -contains $_ }).Count -gt 0
124124
if ($ignoreRelease -and $shouldPublish) {
125-
Write-Output 'Ignoring release creation due to ignore label.'
125+
Write-Host 'Ignoring release creation due to ignore label.'
126126
$shouldPublish = $false
127127
}
128128

@@ -141,23 +141,23 @@ LogGroup 'Determine release configuration' {
141141

142142
$hasVersionBump = $majorRelease -or $minorRelease -or $patchRelease
143143
if (-not $hasVersionBump) {
144-
Write-Output 'No version bump label found and AutoPatching is disabled. Skipping publish.'
144+
Write-Host 'No version bump label found and AutoPatching is disabled. Skipping publish.'
145145
$shouldPublish = $false
146146
}
147147
} elseif (-not $ignoreRelease) {
148-
Write-Output "ReleaseType is [$releaseType]. No publishing required."
148+
Write-Host "ReleaseType is [$releaseType]. No publishing required."
149149
}
150150

151-
Write-Output '-------------------------------------------------'
152-
Write-Output "ReleaseType: [$releaseType]"
153-
Write-Output "AutoCleanup: [$autoCleanup]"
154-
Write-Output "Should publish: [$shouldPublish]"
155-
Write-Output "Create a release: [$createRelease]"
156-
Write-Output "Create a prerelease: [$createPrerelease]"
157-
Write-Output "Create a major release: [$majorRelease]"
158-
Write-Output "Create a minor release: [$minorRelease]"
159-
Write-Output "Create a patch release: [$patchRelease]"
160-
Write-Output '-------------------------------------------------'
151+
Write-Host '-------------------------------------------------'
152+
Write-Host "ReleaseType: [$releaseType]"
153+
Write-Host "AutoCleanup: [$autoCleanup]"
154+
Write-Host "Should publish: [$shouldPublish]"
155+
Write-Host "Create a release: [$createRelease]"
156+
Write-Host "Create a prerelease: [$createPrerelease]"
157+
Write-Host "Create a major release: [$majorRelease]"
158+
Write-Host "Create a minor release: [$minorRelease]"
159+
Write-Host "Create a patch release: [$patchRelease]"
160+
Write-Host '-------------------------------------------------'
161161
}
162162
#endregion Calculate release type
163163

@@ -193,20 +193,20 @@ if ($shouldPublish) {
193193
Write-Warning 'Could not find the latest release version. Using ''0.0.0'' as the version.'
194194
$ghReleaseVersion = New-PSSemVer -Version '0.0.0'
195195
}
196-
Write-Output '-------------------------------------------------'
197-
Write-Output 'GitHub version:'
198-
Write-Output $ghReleaseVersion.ToString()
199-
Write-Output '-------------------------------------------------'
196+
Write-Host '-------------------------------------------------'
197+
Write-Host 'GitHub version:'
198+
Write-Host $ghReleaseVersion.ToString()
199+
Write-Host '-------------------------------------------------'
200200
}
201201

202202
LogGroup 'Get latest version - PSGallery' {
203203
$count = 5
204204
$delay = 10
205205
for ($i = 1; $i -le $count; $i++) {
206206
try {
207-
Write-Output "Finding module [$name] in the PowerShell Gallery."
207+
Write-Host "Finding module [$name] in the PowerShell Gallery."
208208
$latest = Find-PSResource -Name $name -Repository PSGallery -Verbose:$false
209-
Write-Output "$($latest | Format-Table | Out-String)"
209+
Write-Host "$($latest | Format-Table | Out-String)"
210210
break
211211
} catch {
212212
if ($i -eq $count) {
@@ -222,54 +222,54 @@ if ($shouldPublish) {
222222
Write-Warning 'Could not find module online. Using ''0.0.0'' as the version.'
223223
$psGalleryVersion = New-PSSemVer -Version '0.0.0'
224224
}
225-
Write-Output '-------------------------------------------------'
226-
Write-Output 'PSGallery version:'
227-
Write-Output $psGalleryVersion.ToString()
228-
Write-Output '-------------------------------------------------'
225+
Write-Host '-------------------------------------------------'
226+
Write-Host 'PSGallery version:'
227+
Write-Host $psGalleryVersion.ToString()
228+
Write-Host '-------------------------------------------------'
229229
}
230230

231231
LogGroup 'Get latest version' {
232-
Write-Output "GitHub: [$($ghReleaseVersion.ToString())]"
233-
Write-Output "PSGallery: [$($psGalleryVersion.ToString())]"
232+
Write-Host "GitHub: [$($ghReleaseVersion.ToString())]"
233+
Write-Host "PSGallery: [$($psGalleryVersion.ToString())]"
234234
$latestVersion = New-PSSemVer -Version ($psGalleryVersion, $ghReleaseVersion | Sort-Object -Descending | Select-Object -First 1)
235-
Write-Output '-------------------------------------------------'
236-
Write-Output 'Latest version:'
237-
Write-Output ($latestVersion | Format-Table | Out-String)
238-
Write-Output $latestVersion.ToString()
239-
Write-Output '-------------------------------------------------'
235+
Write-Host '-------------------------------------------------'
236+
Write-Host 'Latest version:'
237+
Write-Host ($latestVersion | Format-Table | Out-String)
238+
Write-Host $latestVersion.ToString()
239+
Write-Host '-------------------------------------------------'
240240
}
241241

242242
LogGroup 'Calculate new version' {
243243
# - Increment based on label on PR
244244
$newVersion = New-PSSemVer -Version $latestVersion
245245
$newVersion.Prefix = $versionPrefix
246246
if ($majorRelease) {
247-
Write-Output 'Incrementing major version.'
247+
Write-Host 'Incrementing major version.'
248248
$newVersion.BumpMajor()
249249
} elseif ($minorRelease) {
250-
Write-Output 'Incrementing minor version.'
250+
Write-Host 'Incrementing minor version.'
251251
$newVersion.BumpMinor()
252252
} elseif ($patchRelease) {
253-
Write-Output 'Incrementing patch version.'
253+
Write-Host 'Incrementing patch version.'
254254
$newVersion.BumpPatch()
255255
} else {
256-
Write-Output 'No version bump required.'
256+
Write-Host 'No version bump required.'
257257
}
258258

259-
Write-Output "Partial new version: [$newVersion]"
259+
Write-Host "Partial new version: [$newVersion]"
260260

261261
if ($createPrerelease -and $hasVersionBump) {
262-
Write-Output "Adding a prerelease tag to the version using the branch name [$prereleaseName]."
263-
Write-Output ($releases | Where-Object { $_.tagName -like "*$prereleaseName*" } |
262+
Write-Host "Adding a prerelease tag to the version using the branch name [$prereleaseName]."
263+
Write-Host ($releases | Where-Object { $_.tagName -like "*$prereleaseName*" } |
264264
Select-Object -Property name, isPrerelease, isLatest, publishedAt | Format-Table -AutoSize | Out-String)
265265

266266
$newVersion.Prerelease = $prereleaseName
267-
Write-Output "Partial new version: [$newVersion]"
267+
Write-Host "Partial new version: [$newVersion]"
268268

269269
if (-not [string]::IsNullOrEmpty($datePrereleaseFormat)) {
270-
Write-Output "Using date-based prerelease: [$datePrereleaseFormat]."
270+
Write-Host "Using date-based prerelease: [$datePrereleaseFormat]."
271271
$newVersion.Prerelease += "$(Get-Date -Format $datePrereleaseFormat)"
272-
Write-Output "Partial new version: [$newVersion]"
272+
Write-Host "Partial new version: [$newVersion]"
273273
}
274274

275275
if ($incrementalPrerelease) {
@@ -285,15 +285,15 @@ if ($shouldPublish) {
285285
Verbose = $false
286286
ErrorAction = 'SilentlyContinue'
287287
}
288-
Write-Output 'Finding the latest prerelease version in the PowerShell Gallery.'
289-
Write-Output ($params | Format-Table | Out-String)
288+
Write-Host 'Finding the latest prerelease version in the PowerShell Gallery.'
289+
Write-Host ($params | Format-Table | Out-String)
290290
$psGalleryPrereleases = Find-PSResource @params
291291
$psGalleryPrereleases = $psGalleryPrereleases | Where-Object { $_.Version -like "$newVersionString" }
292292
$psGalleryPrereleases = $psGalleryPrereleases | Where-Object { $_.Prerelease -like "$prereleaseName*" }
293293
$latestPSGalleryPrerelease = $psGalleryPrereleases.Prerelease | ForEach-Object {
294294
[int]($_ -replace $prereleaseName)
295295
} | Sort-Object | Select-Object -Last 1
296-
Write-Output "PSGallery prerelease: [$latestPSGalleryPrerelease]"
296+
Write-Host "PSGallery prerelease: [$latestPSGalleryPrerelease]"
297297

298298
# GitHub
299299
$ghPrereleases = $releases | Where-Object { $_.tagName -like "*$newVersionString*" }
@@ -304,7 +304,7 @@ if ($shouldPublish) {
304304
$number = ($number -split $prereleaseName, 2)[-1]
305305
[int]$number
306306
} | Sort-Object | Select-Object -Last 1
307-
Write-Output "GitHub prerelease: [$latestGHPrereleases]"
307+
Write-Host "GitHub prerelease: [$latestGHPrereleases]"
308308

309309
# Handle null values explicitly to ensure Math.Max works correctly
310310
if ($null -eq $latestPSGalleryPrerelease) { $latestPSGalleryPrerelease = 0 }
@@ -316,11 +316,11 @@ if ($shouldPublish) {
316316
$newVersion.Prerelease += $latestPrereleaseNumber
317317
}
318318
}
319-
Write-Output '-------------------------------------------------'
320-
Write-Output 'New version:'
321-
Write-Output ($newVersion | Format-Table | Out-String)
322-
Write-Output $newVersion.ToString()
323-
Write-Output '-------------------------------------------------'
319+
Write-Host '-------------------------------------------------'
320+
Write-Host 'New version:'
321+
Write-Host ($newVersion | Format-Table | Out-String)
322+
Write-Host $newVersion.ToString()
323+
Write-Host '-------------------------------------------------'
324324
}
325325
#endregion Calculate new version
326326
}
@@ -332,7 +332,7 @@ if ($autoCleanup) {
332332
$prereleasesToCleanup = $releases | Where-Object { $_.tagName -like "*$prereleaseName*" }
333333
$prereleasesToCleanup | Select-Object -Property name, publishedAt, isPrerelease, isLatest | Format-Table | Out-String
334334
$prereleaseTagsToCleanup = ($prereleasesToCleanup | ForEach-Object { $_.tagName }) -join ','
335-
Write-Output "Prereleases to cleanup: [$prereleaseTagsToCleanup]"
335+
Write-Host "Prereleases to cleanup: [$prereleaseTagsToCleanup]"
336336
}
337337
}
338338
#endregion Find prereleases to cleanup
@@ -354,8 +354,8 @@ LogGroup 'Store context in environment variables' {
354354
Add-Content -Path $env:GITHUB_ENV -Value "PUBLISH_CONTEXT_PRNumber=$($pull_request.number.ToString())"
355355
Add-Content -Path $env:GITHUB_ENV -Value "PUBLISH_CONTEXT_PRHeadRef=$prHeadRef"
356356

357-
Write-Output '-------------------------------------------------'
358-
Write-Output 'Stored environment variables:'
357+
Write-Host '-------------------------------------------------'
358+
Write-Host 'Stored environment variables:'
359359
[PSCustomObject]@{
360360
ShouldPublish = $shouldPublish
361361
ShouldCleanup = $autoCleanup
@@ -370,7 +370,7 @@ LogGroup 'Store context in environment variables' {
370370
PRNumber = $pull_request.number
371371
PRHeadRef = $prHeadRef
372372
} | Format-List | Out-String
373-
Write-Output '-------------------------------------------------'
373+
Write-Host '-------------------------------------------------'
374374
}
375375

376-
Write-Output "Context initialization complete. ShouldPublish=[$shouldPublish], ShouldCleanup=[$autoCleanup]"
376+
Write-Host "Context initialization complete. ShouldPublish=[$shouldPublish], ShouldCleanup=[$autoCleanup]"

0 commit comments

Comments
 (0)