|
38 | 38 | ) |
39 | 39 |
|
40 | 40 | Set-GitHubLogGroup 'Set configuration' { |
41 | | - $autoCleanup = $env:PSMODULE_PUBLISH_PSMODULE_INPUT_AutoCleanup -eq 'true' |
| 41 | + $cleanupPrereleases = $env:PSMODULE_PUBLISH_PSMODULE_INPUT_CleanupPrereleases -eq 'true' |
42 | 42 | $autoPatching = $env:PSMODULE_PUBLISH_PSMODULE_INPUT_AutoPatching -eq 'true' |
43 | 43 | $incrementalPrerelease = $env:PSMODULE_PUBLISH_PSMODULE_INPUT_IncrementalPrerelease -eq 'true' |
44 | 44 | $datePrereleaseFormat = $env:PSMODULE_PUBLISH_PSMODULE_INPUT_DatePrereleaseFormat |
45 | 45 | $versionPrefix = $env:PSMODULE_PUBLISH_PSMODULE_INPUT_VersionPrefix |
46 | 46 | $whatIf = $env:PSMODULE_PUBLISH_PSMODULE_INPUT_WhatIf -eq 'true' |
47 | 47 | $ignoreLabels = $env:PSMODULE_PUBLISH_PSMODULE_INPUT_IgnoreLabels -split ',' | ForEach-Object { $_.Trim() } |
48 | | - $releaseType = $env:PSMODULE_PUBLISH_PSMODULE_INPUT_ReleaseType # 'Release', 'Prerelease', 'Cleanup', or 'None' |
| 48 | + $releaseType = $env:PSMODULE_PUBLISH_PSMODULE_INPUT_ReleaseType # 'Release', 'Prerelease', or 'None' |
49 | 49 | $majorLabels = $env:PSMODULE_PUBLISH_PSMODULE_INPUT_MajorLabels -split ',' | ForEach-Object { $_.Trim() } |
50 | 50 | $minorLabels = $env:PSMODULE_PUBLISH_PSMODULE_INPUT_MinorLabels -split ',' | ForEach-Object { $_.Trim() } |
51 | 51 | $patchLabels = $env:PSMODULE_PUBLISH_PSMODULE_INPUT_PatchLabels -split ',' | ForEach-Object { $_.Trim() } |
|
60 | 60 | } |
61 | 61 |
|
62 | 62 | [pscustomobject]@{ |
63 | | - AutoCleanup = $autoCleanup |
| 63 | + CleanupPrereleases = $cleanupPrereleases |
64 | 64 | AutoPatching = $autoPatching |
65 | 65 | IncrementalPrerelease = $incrementalPrerelease |
66 | 66 | DatePrereleaseFormat = $datePrereleaseFormat |
|
114 | 114 | $prereleaseName = $prHeadRef -replace '[^a-zA-Z0-9]' |
115 | 115 |
|
116 | 116 | # Validate ReleaseType - fail if not provided or invalid to catch configuration errors |
117 | | - $validReleaseTypes = @('Release', 'Prerelease', 'Cleanup', 'None') |
| 117 | + $validReleaseTypes = @('Release', 'Prerelease', 'None') |
118 | 118 | if ([string]::IsNullOrWhiteSpace($releaseType)) { |
119 | 119 | Write-Error "ReleaseType input is required. Valid values are: $($validReleaseTypes -join ', ')" |
120 | 120 | exit 1 |
|
126 | 126 |
|
127 | 127 | $createRelease = $releaseType -eq 'Release' |
128 | 128 | $createPrerelease = $releaseType -eq 'Prerelease' |
129 | | - $isCleanupMode = $releaseType -eq 'Cleanup' |
130 | 129 |
|
131 | | - if ($releaseType -eq 'None') { |
132 | | - Write-Output 'ReleaseType is None. Skipping release creation.' |
| 130 | + # Note: cleanupPrereleases is pre-calculated by Get-PSModuleSettings based on: |
| 131 | + # - The release situation (Release or Abandoned PR) |
| 132 | + # - The user's CleanupPrereleases preference |
| 133 | + |
| 134 | + if ($releaseType -eq 'None' -and -not $cleanupPrereleases) { |
| 135 | + Write-Output 'ReleaseType is None and no cleanup needed. Skipping.' |
133 | 136 | return |
134 | 137 | } |
135 | 138 |
|
|
147 | 150 |
|
148 | 151 | Write-Output '-------------------------------------------------' |
149 | 152 | Write-Output "ReleaseType: [$releaseType]" |
| 153 | + Write-Output "CleanupPrereleases: [$cleanupPrereleases]" |
150 | 154 | Write-Output "Create a release: [$createRelease]" |
151 | 155 | Write-Output "Create a prerelease: [$createPrerelease]" |
152 | 156 | Write-Output "Create a major release: [$majorRelease]" |
153 | 157 | Write-Output "Create a minor release: [$minorRelease]" |
154 | 158 | Write-Output "Create a patch release: [$patchRelease]" |
155 | | - Write-Output "ReleaseType is Cleanup: [$isCleanupMode]" |
156 | 159 | Write-Output '-------------------------------------------------' |
157 | 160 | } |
158 | 161 |
|
|
455 | 458 | $prereleasesToCleanup | Select-Object -Property name, publishedAt, isPrerelease, isLatest | Format-Table | Out-String |
456 | 459 | } |
457 | 460 |
|
458 | | - if ((($isCleanupMode -or $createRelease) -and $autoCleanup) -or $whatIf) { |
| 461 | + if ($cleanupPrereleases -or $whatIf) { |
459 | 462 | Set-GitHubLogGroup "Cleanup prereleases for [$prereleaseName]" { |
460 | 463 | foreach ($rel in $prereleasesToCleanup) { |
461 | 464 | $relTagName = $rel.tagName |
|
0 commit comments