@@ -28,6 +28,7 @@ param()
2828$PSStyle.OutputRendering = ' Ansi'
2929
3030Import-Module - Name ' PSModule' - Force
31+ Import-Module - Name " $PSScriptRoot /Publish-PSModule.Helpers.psm1" - Force
3132
3233# region Load inputs
3334LogGroup ' Load inputs' {
@@ -58,10 +59,14 @@ LogGroup 'Load inputs' {
5859 $usePRBodyAsReleaseNotes = $env: PSMODULE_PUBLISH_PSMODULE_INPUT_UsePRBodyAsReleaseNotes -eq ' true'
5960 $usePRTitleAsReleaseName = $env: PSMODULE_PUBLISH_PSMODULE_INPUT_UsePRTitleAsReleaseName -eq ' true'
6061 $usePRTitleAsNotesHeading = $env: PSMODULE_PUBLISH_PSMODULE_INPUT_UsePRTitleAsNotesHeading -eq ' true'
62+ # The prefix the repository tags releases with, resolved by the Plan job from
63+ # Settings.Publish.Module.VersionPrefix. Empty means the repository tags without a prefix.
64+ $versionPrefix = $env: PSMODULE_PUBLISH_PSMODULE_INPUT_VersionPrefix
6165
62- Write-Host " Module name: [$name ]"
63- Write-Host " Module path: [$modulePath ]"
64- Write-Host " WhatIf: [$whatIf ]"
66+ Write-Host " Module name: [$name ]"
67+ Write-Host " Module path: [$modulePath ]"
68+ Write-Host " Version prefix: [$versionPrefix ]"
69+ Write-Host " WhatIf: [$whatIf ]"
6570}
6671# endregion Load inputs
6772
@@ -129,12 +134,18 @@ LogGroup 'Resolve version from manifest' {
129134 $createPrerelease = $true
130135 }
131136
132- $releaseTag = if ($createPrerelease ) { " $moduleVersion -$prerelease " } else { $moduleVersion }
137+ # The PowerShell Gallery and the module manifest only accept plain SemVer, so the configured
138+ # VersionPrefix is applied to the GitHub release tag and to nothing else. Both strings are derived
139+ # from the same composition here, so the prefix is the only difference between them.
140+ $publishPSVersion = Get-ModuleVersionString - ModuleVersion $moduleVersion - Prerelease $prerelease
141+ $releaseTag = Get-ReleaseTag - VersionPrefix $versionPrefix - ModuleVersion $moduleVersion - Prerelease $prerelease
133142
134143 [PSCustomObject ]@ {
135144 ModuleVersion = $moduleVersion
145+ VersionPrefix = $versionPrefix
136146 Prerelease = $prerelease
137147 CreatePrerelease = $createPrerelease
148+ GalleryVersion = $publishPSVersion
138149 ReleaseTag = $releaseTag
139150 PRNumber = $prNumber
140151 PRHeadRef = $prHeadRef
@@ -154,7 +165,6 @@ LogGroup 'Install module dependencies' {
154165# region Publish to PSGallery
155166LogGroup ' Publish to PSGallery' {
156167 $releaseType = if ($createPrerelease ) { ' New prerelease' } else { ' New release' }
157- $publishPSVersion = if ($createPrerelease ) { " $moduleVersion -$prerelease " } else { $moduleVersion }
158168 $psGalleryReleaseLink = " https://www.powershellgallery.com/packages/$name /$publishPSVersion "
159169
160170 Write-Host ' Publish module to PowerShell Gallery using API key from environment.'
@@ -280,4 +290,4 @@ LogGroup 'Create GitHub release' {
280290}
281291# endregion Create GitHub release
282292
283- Write-Host " Publishing complete. Version : [$releaseTag ]"
293+ Write-Host " Publishing complete. PowerShell Gallery version : [$publishPSVersion ]. GitHub release tag: [ $ releaseTag ]. "
0 commit comments