Skip to content

Commit 2f56a03

Browse files
Make ReleaseType required and remove autodetection fallback
1 parent 68919b7 commit 2f56a03

2 files changed

Lines changed: 18 additions & 4 deletions

File tree

action.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,8 @@ inputs:
5050
required: false
5151
default: NoRelease
5252
ReleaseType:
53-
description: The type of release to create. Values are 'Release' (stable), 'Prerelease', 'Cleanup' (delete old prereleases), or 'None'. When set, this overrides automatic detection.
54-
required: false
55-
default: ''
53+
description: The type of release to create. Values are 'Release' (stable), 'Prerelease', 'Cleanup' (delete old prereleases), or 'None'. This input is required and must be provided by the caller.
54+
required: true
5655
WhatIf:
5756
description: If specified, the action will only log the changes it would make, but will not actually create or delete any releases or tags.
5857
required: false

scripts/helpers/Publish-PSModule.ps1

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,26 @@
104104
Set-GitHubLogGroup 'Calculate release type' {
105105
$prereleaseName = $prHeadRef -replace '[^a-zA-Z0-9]'
106106

107-
# ReleaseType is determined by Get-PSModuleSettings
107+
# Validate ReleaseType - must be provided by Get-PSModuleSettings
108+
$validReleaseTypes = @('Release', 'Prerelease', 'Cleanup', 'None')
109+
if ([string]::IsNullOrWhiteSpace($releaseType)) {
110+
Write-Error "ReleaseType input is required. Valid values are: $($validReleaseTypes -join ', ')"
111+
exit 1
112+
}
113+
if ($releaseType -notin $validReleaseTypes) {
114+
Write-Error "Invalid ReleaseType: [$releaseType]. Valid values are: $($validReleaseTypes -join ', ')"
115+
exit 1
116+
}
117+
108118
$createRelease = $releaseType -eq 'Release'
109119
$createPrerelease = $releaseType -eq 'Prerelease'
110120
$closedPullRequest = $releaseType -eq 'Cleanup'
111121

122+
if ($releaseType -eq 'None') {
123+
Write-Output 'ReleaseType is None. Skipping release creation.'
124+
return
125+
}
126+
112127
$ignoreRelease = ($labels | Where-Object { $ignoreLabels -contains $_ }).Count -gt 0
113128
if ($ignoreRelease) {
114129
Write-Output 'Ignoring release creation due to ignore label.'

0 commit comments

Comments
 (0)