Project

PSPublishModule

Build, test, version, sign, and publish PowerShell modules with reusable PowerForge pipelines.

Stars 48
Forks 16
PowerShell Gallery downloads 17,213
Release v3.0.169
Language: C# Updated: 2026-10-13

API Reference

Command

Invoke-ProjectRelease

Namespace PSPublishModule
Inputs
None
Outputs
PowerForge.PowerForgeReleaseResult

Executes a PowerShell-authored project release object through the unified PowerForge release engine.

Remarks

Executes a PowerShell-authored project release object through the unified PowerForge release engine.

Examples

Authored help example

EXAMPLE 1


Invoke-ProjectRelease -Project 'Value'
        

Common Parameters

This command supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable.

For more information, see about_CommonParameters.

Syntax

Invoke-ProjectRelease [-ChecksumsPath <String>] [-ExitCode] [-Frameworks <String[]>] [-InstallerProperty <String[]>] [-KeepSymbols] [-ManifestJsonPath <String>] [-OutputRoot <String>] [-Plan] -Project <ConfigurationProject> [-PublishToolGitHub] [-ReleaseVersion <String>] [-Runtimes <String[]>] [-Sign] [-SignCsp <String>] [-SignDescription <String>] [-SignKeyContainer <String>] [-SignOnFailure <Warn|Fail|Skip>] [-SignOnMissingTool <Warn|Fail|Skip>] [-SignProfile <String>] [-SignSubjectName <String>] [-SignThumbprint <String>] [-SignTimestampUrl <String>] [-SignToolPath <String>] [-SignUrl <String>] [-SkipBuild] [-SkipReleaseChecksums] [-SkipRestore] [-SkipToolOutput <Tool|Portable|Installer|Store>] [-SkipWingetSubmit] [-SkipWorkspaceValidation] [-StageRoot <String>] [-Styles <Portable>] [-SubmitWinget] [-Target <String[]>] [-ToolOutput <Tool|Portable|Installer|Store>] [-Validate] [-WingetAllowInteractiveAuthentication] [-WingetOpenBrowser] [-WingetPullRequestTitle <String>] [-WingetReplace] [-WingetReplaceVersion <String>] [-WingetSubmitMode <Manifest|Update>] [-WingetTimeoutSeconds <Int32>] [-WingetTokenEnvName <String>] [-WingetTokenFilePath <String>] [-WingetToolPath <String>] [-WorkspaceConfigPath <String>] [-WorkspaceDisableFeature <String[]>] [-WorkspaceEnableFeature <String[]>] [-WorkspaceProfile <String>] [<CommonParameters>]
#
Parameter set: All Parameter Sets

Parameters

ChecksumsPath String optionalposition: namedpipeline: False
Optional release checksums output path override.
ExitCode SwitchParameter optionalposition: namedpipeline: False
Sets host exit code: 0 on success, 1 on failure.
Frameworks String[] optionalposition: namedpipeline: Falsealiases: Framework
Optional framework filter.
InstallerProperty String[] optionalposition: namedpipeline: False
Optional installer MSBuild property overrides in Name=Value form.
KeepSymbols SwitchParameter optionalposition: namedpipeline: False
Keeps symbol files for tool/app artefacts.
ManifestJsonPath String optionalposition: namedpipeline: False
Optional release manifest output path override.
OutputRoot String optionalposition: namedpipeline: False
Optional output root override for tool/app assets.
Plan SwitchParameter optionalposition: namedpipeline: False
Builds the release plan without executing steps.
Project ConfigurationProject requiredposition: namedpipeline: False
PowerShell-authored project/release object.
PublishToolGitHub SwitchParameter optionalposition: namedpipeline: False
Enables tool/app GitHub release publishing for this run.
ReleaseVersion String optionalposition: namedpipeline: False
Exact x.y.z version override for the tool-only release.
Runtimes String[] optionalposition: namedpipeline: Falsealiases: Rid, Runtime
Optional runtime filter.
Sign SwitchParameter optionalposition: namedpipeline: False
Enables signing for tool/app outputs when supported by the project object.
SignCsp String optionalposition: namedpipeline: False
Optional signing CSP override.
SignDescription String optionalposition: namedpipeline: False
Optional signing description override.
SignKeyContainer String optionalposition: namedpipeline: False
Optional signing key container override.
SignOnFailure DotNetPublishPolicyMode optionalposition: namedpipeline: Falsevalues: 3
Optional policy when signing fails.
Possible values: Warn, Fail, Skip
SignOnMissingTool DotNetPublishPolicyMode optionalposition: namedpipeline: Falsevalues: 3
Optional policy when the configured signing tool is missing.
Possible values: Warn, Fail, Skip
SignProfile String optionalposition: namedpipeline: False
Optional signing profile override.
SignSubjectName String optionalposition: namedpipeline: False
Optional signing certificate subject name override.
SignThumbprint String optionalposition: namedpipeline: False
Optional signing thumbprint override.
SignTimestampUrl String optionalposition: namedpipeline: False
Optional signing timestamp URL override.
SignToolPath String optionalposition: namedpipeline: False
Optional signing tool path override.
SignUrl String optionalposition: namedpipeline: False
Optional signing URL override.
SkipBuild SwitchParameter optionalposition: namedpipeline: False
Disables build operations for the tool/app publish flow.
SkipReleaseChecksums SwitchParameter optionalposition: namedpipeline: False
Skips top-level release checksums generation.
SkipRestore SwitchParameter optionalposition: namedpipeline: False
Disables restore operations for the tool/app publish flow.
SkipToolOutput String[] optionalposition: namedpipeline: Falsevalues: 4
Optional tool/app output exclusion.
Possible values: Tool, Portable, Installer, Store
SkipWingetSubmit SwitchParameter optionalposition: namedpipeline: False
Disables Winget submission even when enabled by project configuration.
SkipWorkspaceValidation SwitchParameter optionalposition: namedpipeline: False
Skips workspace validation defined by the project object.
StageRoot String optionalposition: namedpipeline: False
Optional staged release root override.
Styles DotNetPublishStyle[] optionalposition: namedpipeline: Falsealiases: Stylevalues: 7
Optional publish style filter.
Possible values: Portable, PortableCompat, PortableSize, SelfContained, FrameworkDependent, AotSpeed, AotSize
SubmitWinget SwitchParameter optionalposition: namedpipeline: False
Submits generated Winget manifests with wingetcreate after release assets are available.
Target String[] optionalposition: namedpipeline: Falsealiases: Targets
Optional target-name filter.
ToolOutput String[] optionalposition: namedpipeline: Falsevalues: 4
Optional tool/app output selection.
Possible values: Tool, Portable, Installer, Store
Validate SwitchParameter optionalposition: namedpipeline: False
Validates configuration through plan-only execution.
WingetAllowInteractiveAuthentication SwitchParameter optionalposition: namedpipeline: False
Allows wingetcreate to prompt for GitHub authentication when no token is resolved.
WingetOpenBrowser SwitchParameter optionalposition: namedpipeline: False
Allows wingetcreate to open the submitted pull request in a browser.
WingetPullRequestTitle String optionalposition: namedpipeline: False
Pull request title template passed to wingetcreate.
WingetReplace SwitchParameter optionalposition: namedpipeline: False
Enables wingetcreate replacement mode.
WingetReplaceVersion String optionalposition: namedpipeline: False
Optional version passed with wingetcreate replacement mode.
WingetSubmitMode String optionalposition: namedpipeline: Falsevalues: 2
Winget submission mode used by wingetcreate.
Possible values: Manifest, Update
WingetTimeoutSeconds Int32 optionalposition: namedpipeline: False
Timeout in seconds for each wingetcreate invocation.
WingetTokenEnvName String optionalposition: namedpipeline: False
Environment variable containing the GitHub token for wingetcreate.
WingetTokenFilePath String optionalposition: namedpipeline: False
File containing the GitHub token for wingetcreate.
WingetToolPath String optionalposition: namedpipeline: False
Optional wingetcreate executable path.
WorkspaceConfigPath String optionalposition: namedpipeline: False
Optional workspace validation config override.
WorkspaceDisableFeature String[] optionalposition: namedpipeline: False
Optional workspace feature disable list override.
WorkspaceEnableFeature String[] optionalposition: namedpipeline: False
Optional workspace feature enable list override.
WorkspaceProfile String optionalposition: namedpipeline: False
Optional workspace validation profile override.

Outputs

PowerForge.PowerForgeReleaseResult