|
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 | 49 | $majorLabels = $env:PSMODULE_PUBLISH_PSMODULE_INPUT_MajorLabels -split ',' | ForEach-Object { $_.Trim() } |
49 | 50 | $minorLabels = $env:PSMODULE_PUBLISH_PSMODULE_INPUT_MinorLabels -split ',' | ForEach-Object { $_.Trim() } |
50 | 51 | $patchLabels = $env:PSMODULE_PUBLISH_PSMODULE_INPUT_PatchLabels -split ',' | ForEach-Object { $_.Trim() } |
|
60 | 61 | VersionPrefix = $versionPrefix |
61 | 62 | WhatIf = $whatIf |
62 | 63 | IgnoreLabels = $ignoreLabels |
| 64 | + ReleaseType = $releaseType |
63 | 65 | MajorLabels = $majorLabels |
64 | 66 | MinorLabels = $minorLabels |
65 | 67 | PatchLabels = $patchLabels |
|
81 | 83 | } |
82 | 84 |
|
83 | 85 | Set-GitHubLogGroup 'Event information - Details' { |
84 | | - $defaultBranchName = (gh repo view --json defaultBranchRef | ConvertFrom-Json | Select-Object -ExpandProperty defaultBranchRef).name |
85 | | - $isPullRequest = $githubEvent.PSObject.Properties.Name -contains 'pull_request' |
86 | | - if (-not ($isPullRequest -or $whatIf)) { |
87 | | - Write-Warning '⚠️ A release should not be created in this context. Exiting.' |
88 | | - exit |
89 | | - } |
90 | | - $actionType = $githubEvent.action |
91 | | - $isMerged = $pull_request.merged -eq 'True' |
92 | | - $prIsClosed = $pull_request.state -eq 'closed' |
93 | | - $prBaseRef = $pull_request.base.ref |
94 | 86 | $prHeadRef = $pull_request.head.ref |
95 | | - $targetIsDefaultBranch = $pull_request.base.ref -eq $defaultBranchName |
96 | 87 |
|
97 | 88 | Write-Output '-------------------------------------------------' |
98 | | - Write-Output "Default branch: [$defaultBranchName]" |
99 | | - Write-Output "Is a pull request event: [$isPullRequest]" |
100 | | - Write-Output "Action type: [$actionType]" |
101 | | - Write-Output "PR Merged: [$isMerged]" |
102 | | - Write-Output "PR Closed: [$prIsClosed]" |
103 | | - Write-Output "PR Base Ref: [$prBaseRef]" |
104 | 89 | Write-Output "PR Head Ref: [$prHeadRef]" |
105 | | - Write-Output "Target is default branch: [$targetIsDefaultBranch]" |
| 90 | + Write-Output "ReleaseType: [$releaseType]" |
106 | 91 | Write-Output '-------------------------------------------------' |
107 | 92 | } |
108 | 93 |
|
|
117 | 102 | } |
118 | 103 |
|
119 | 104 | Set-GitHubLogGroup 'Calculate release type' { |
120 | | - $createRelease = $isMerged -and $targetIsDefaultBranch |
121 | | - $closedPullRequest = $prIsClosed -and -not $isMerged |
122 | | - $createPrerelease = $labels -contains 'prerelease' -and -not $createRelease -and -not $closedPullRequest |
123 | 105 | $prereleaseName = $prHeadRef -replace '[^a-zA-Z0-9]' |
124 | 106 |
|
| 107 | + # ReleaseType is determined by Get-PSModuleSettings |
| 108 | + $createRelease = $releaseType -eq 'Release' |
| 109 | + $createPrerelease = $releaseType -eq 'Prerelease' |
| 110 | + $closedPullRequest = $releaseType -eq 'Cleanup' |
| 111 | + |
125 | 112 | $ignoreRelease = ($labels | Where-Object { $ignoreLabels -contains $_ }).Count -gt 0 |
126 | 113 | if ($ignoreRelease) { |
127 | | - Write-Output 'Ignoring release creation.' |
| 114 | + Write-Output 'Ignoring release creation due to ignore label.' |
128 | 115 | return |
129 | 116 | } |
130 | 117 |
|
|
135 | 122 | ).Count -gt 0 -or $autoPatching) -and -not $majorRelease -and -not $minorRelease |
136 | 123 |
|
137 | 124 | Write-Output '-------------------------------------------------' |
| 125 | + Write-Output "ReleaseType: [$releaseType]" |
138 | 126 | Write-Output "Create a release: [$createRelease]" |
139 | 127 | Write-Output "Create a prerelease: [$createPrerelease]" |
140 | 128 | Write-Output "Create a major release: [$majorRelease]" |
141 | 129 | Write-Output "Create a minor release: [$minorRelease]" |
142 | 130 | Write-Output "Create a patch release: [$patchRelease]" |
143 | | - Write-Output "Closed pull request: [$closedPullRequest]" |
| 131 | + Write-Output "Cleanup prereleases: [$closedPullRequest]" |
144 | 132 | Write-Output '-------------------------------------------------' |
145 | 133 | } |
146 | 134 |
|
|
0 commit comments