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-PowerForgeRelease

Namespace PSPublishModule
Inputs
None
Outputs
PowerForge.PowerForgeReleaseResult PowerForge.PowerForgeAppleReleaseReceipt

Executes the unified repository release workflow from a JSON configuration.

Remarks

This cmdlet is the PowerShell entry point for the same unified release engine used by powerforge release. It can coordinate repository package publishing and downloadable tool/app artefacts from one configuration file.

Examples

Authored help example

Plan the configured release without running build/publish steps


Invoke-PowerForgeRelease -ConfigPath '.\Build\release.json' -Plan
        

Run tool releases only and publish tool assets to GitHub


Invoke-PowerForgeRelease -ConfigPath '.\Build\release.json' -ToolsOnly -PublishToolGitHub -ExitCode
        

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-PowerForgeRelease [-AdoptExistingAppleBuild] [-AllowManifestOutsideProjectRoot] [-AllowOutputOutsideProjectRoot] [-AppleAction <Configured>] [-AppleExpectedPlanSha256 <String>] [-ApplePollIntervalSeconds <Int32>] [-AppleProcessingTimeoutSeconds <Int32>] [-AppleResume] [-AppleShipAppStoreTarget <String[]>] [-AppleShipSyncScreenshots] [-AppleShipTestFlightTarget <String[]>] [-AppleSourceCommit <String>] [-AppleSummary] [-AppleVersion <String>] [-AppleWaitForProcessing] [-ChecksumsPath <String>] [-ConfigPath <String>] [-Configuration <String>] [-ConfirmAppleAction] [-ExitCode] [-Flavors <SingleContained|SingleFx|Portable|Fx>] [-Frameworks <String[]>] [-InstallerProperty <String[]>] [-KeepSymbols] [-ManifestJsonPath <String>] [-ModuleCertificateThumbprint <String>] [-ModuleDiagnosticsBaselinePath <String>] [-ModuleFailOnDiagnosticsSeverity <Warning|Error>] [-ModuleFailOnNewDiagnostics <Boolean>] [-ModuleFramework <auto|net10.0|net8.0>] [-ModuleGenerateDiagnosticsBaseline <Boolean>] [-ModuleNoDotnetBuild] [-ModuleNoSign] [-ModuleOnly] [-ModulePreReleaseTag <String>] [-ModuleRunMode <Manifest|Documentation|Build|Publish>] [-ModuleSignIncludeBinaries <Boolean>] [-ModuleSignIncludeExe <Boolean>] [-ModuleSignIncludeInternals <Boolean>] [-ModuleSignModule] [-ModuleSkipInstall] [-ModuleTimeoutSeconds <Int32>] [-ModuleUpdateDiagnosticsBaseline <Boolean>] [-ModuleVersion <String>] [-NoAppleResume] [-NoAppleWaitForProcessing] [-NoInteractive] [-OutputRoot <String>] [-PackageSignStore <CurrentUser|LocalMachine>] [-PackageSignThumbprint <String>] [-PackageSignTimestampUrl <String>] [-PackagesOnly] [-Plan] [-PublishNuget] [-PublishProjectGitHub] [-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>] [-SignTimeoutSeconds <Int32>] [-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>] [-ToolsOnly] [-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>] [-WorkspaceTestimoXRoot <String>] [<CommonParameters>]
#
Parameter set: Config

Parameters

AdoptExistingAppleBuild SwitchParameter optionalposition: namedpipeline: False
Explicitly adopts a verified remote Apple build or accepted notarization operation. Local receipts provide continuity evidence but never authorize cross-process recovery by themselves; this switch requires ConfirmAppleAction and is intended only for deliberate recovery.
AllowManifestOutsideProjectRoot SwitchParameter optionalposition: namedpipeline: False
Allows DotNetPublish-backed manifest/report paths to resolve outside the configured project root.
AllowOutputOutsideProjectRoot SwitchParameter optionalposition: namedpipeline: False
Allows DotNetPublish-backed outputs to resolve outside the configured project root.
AppleAction PowerForgeAppleReleaseAction optionalposition: namedpipeline: Falsevalues: 17
Selects one explicit Apple release operation. Configured preserves legacy JSON action flags.
Possible values: Configured, Status, Doctor, Version, Archive, Upload, UploadExisting, Prepare, Screenshots, TestFlight, Advance, SubmitTestFlightReview, SubmitAppReview, Release, Cleanup, Rehearse, Ship
AppleExpectedPlanSha256 String optionalposition: namedpipeline: False
Requires the persisted Apple plan receipt to match this exact SHA-256.
ApplePollIntervalSeconds Int32 optionalposition: namedpipeline: False
App Store Connect processing poll interval in seconds.
AppleProcessingTimeoutSeconds Int32 optionalposition: namedpipeline: False
Maximum App Store Connect processing wait in seconds.
AppleResume SwitchParameter optionalposition: namedpipeline: False
Enables recovery discovery; deliberate cross-process reuse also requires AdoptExistingAppleBuild and ConfirmAppleAction.
AppleShipAppStoreTarget String[] optionalposition: namedpipeline: False
Apple target names or schemes that should be submitted to App Store Review by Ship.
AppleShipSyncScreenshots SwitchParameter optionalposition: namedpipeline: False
Publishes reviewed local screenshot bytes during Ship instead of reusing complete remote screenshots.
AppleShipTestFlightTarget String[] optionalposition: namedpipeline: False
Apple target names or schemes that should receive the Ship build through internal TestFlight.
AppleSourceCommit String optionalposition: namedpipeline: False
Binds Apple release evidence to a full 40-character SHA-1 or 64-character SHA-256 source commit.
AppleSummary SwitchParameter optionalposition: namedpipeline: False
Requests compact Apple receipt-oriented output from compatible hosts.
AppleVersion String optionalposition: namedpipeline: False
Overrides the Apple marketing version selected for this operation.
AppleWaitForProcessing SwitchParameter optionalposition: namedpipeline: False
Waits for App Store Connect build processing on this run.
ChecksumsPath String optionalposition: namedpipeline: False
Optional release checksums output path override.
ConfigPath String optionalposition: namedpipeline: False
Path to the unified release configuration file. When omitted, the cmdlet searches current and parent directories for standard release config file names.
Configuration String optionalposition: namedpipeline: False
Optional configuration override.
ConfirmAppleAction SwitchParameter optionalposition: namedpipeline: False
Explicitly confirms a risky Apple screenshot replacement, review submission, or public release action.
ExitCode SwitchParameter optionalposition: namedpipeline: False
Sets host exit code: 0 on success, 1 on failure.
Flavors String[] optionalposition: namedpipeline: Falsealiases: Flavorvalues: 4
Optional legacy tool flavor filter.
Possible values: SingleContained, SingleFx, Portable, Fx
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.
ModuleCertificateThumbprint String optionalposition: namedpipeline: False
Optional signing certificate thumbprint for the native module-release lane.
ModuleDiagnosticsBaselinePath String optionalposition: namedpipeline: False
Optional diagnostics baseline path for the native module-release lane.
ModuleFailOnDiagnosticsSeverity String optionalposition: namedpipeline: Falsevalues: 2
Optional diagnostics severity threshold for the native module-release lane.
Possible values: Warning, Error
ModuleFailOnNewDiagnostics Boolean optionalposition: namedpipeline: False
Controls failure on new diagnostics in the native module-release lane.
ModuleFramework String optionalposition: namedpipeline: Falsevalues: 3
Target framework used by the native module-release lane.
Possible values: auto, net10.0, net8.0
ModuleGenerateDiagnosticsBaseline Boolean optionalposition: namedpipeline: False
Controls diagnostics baseline generation in the native module-release lane.
ModuleNoDotnetBuild SwitchParameter optionalposition: namedpipeline: False
Skips the dotnet build step inside the native module-release lane.
ModuleNoSign SwitchParameter optionalposition: namedpipeline: False
Disables signing for the native module-release lane.
ModuleOnly SwitchParameter optionalposition: namedpipeline: False
Executes only the module portion of the release.
ModulePreReleaseTag String optionalposition: namedpipeline: False
Optional prerelease tag override for the native module-release lane.
ModuleRunMode ConfigurationGateMode optionalposition: namedpipeline: Falsevalues: 4
Module pipeline gate used by the native module-release lane.
Possible values: Manifest, Documentation, Build, Publish
ModuleSignIncludeBinaries Boolean optionalposition: namedpipeline: False
Controls whether the native module-release lane signs binaries.
ModuleSignIncludeExe Boolean optionalposition: namedpipeline: False
Controls whether the native module-release lane signs executables.
ModuleSignIncludeInternals Boolean optionalposition: namedpipeline: False
Controls whether the native module-release lane signs internal files.
ModuleSignModule SwitchParameter optionalposition: namedpipeline: False
Enables signing for the native module-release lane.
ModuleSkipInstall SwitchParameter optionalposition: namedpipeline: False
Skips installation after the native module-release lane completes.
ModuleTimeoutSeconds Int32 optionalposition: namedpipeline: False
Maximum runtime in seconds for the native module-release lane.
ModuleUpdateDiagnosticsBaseline Boolean optionalposition: namedpipeline: False
Controls diagnostics baseline updates in the native module-release lane.
ModuleVersion String optionalposition: namedpipeline: False
Optional module version override for the native module-release lane.
NoAppleResume SwitchParameter optionalposition: namedpipeline: False
Disables exact remote-build reuse on this run.
NoAppleWaitForProcessing SwitchParameter optionalposition: namedpipeline: False
Returns after upload instead of waiting for build processing.
NoInteractive SwitchParameter optionalposition: namedpipeline: False
Disables the interactive Spectre renderer while preserving structured pipeline output.
OutputRoot String optionalposition: namedpipeline: False
Optional output root override for tool/app assets.
PackageSignStore String optionalposition: namedpipeline: Falsevalues: 2
Optional package-signing certificate store override.
Possible values: CurrentUser, LocalMachine
PackageSignThumbprint String optionalposition: namedpipeline: False
Optional package-signing thumbprint override.
PackageSignTimestampUrl String optionalposition: namedpipeline: False
Optional package-signing timestamp URL override.
PackagesOnly SwitchParameter optionalposition: namedpipeline: False
Executes only the package portion of the release.
Plan SwitchParameter optionalposition: namedpipeline: False
Builds the release plan without executing steps.
PublishNuget SwitchParameter optionalposition: namedpipeline: False
Enables NuGet publishing for this run.
PublishProjectGitHub SwitchParameter optionalposition: namedpipeline: False
Enables project/package GitHub release publishing for this run.
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 an explicitly 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 release config.
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.
SignTimeoutSeconds Int32 optionalposition: namedpipeline: False
Maximum signing process duration in seconds.
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 for DotNetPublish-backed release flows.
Possible values: Tool, Portable, Installer, Store
SkipWingetSubmit SwitchParameter optionalposition: namedpipeline: False
Disables Winget submission even when enabled by release configuration.
SkipWorkspaceValidation SwitchParameter optionalposition: namedpipeline: False
Skips workspace validation defined by the release config.
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 for DotNetPublish-backed release flows.
Possible values: Tool, Portable, Installer, Store
ToolsOnly SwitchParameter optionalposition: namedpipeline: False
Executes only the tool/app portion of the release.
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.
WorkspaceTestimoXRoot String optionalposition: namedpipeline: False
Optional TestimoX workspace root passed to shared workspace validation.

Outputs

PowerForge.PowerForgeReleaseResult, PowerForge.PowerForgeAppleReleaseReceipt

Invoke-PowerForgeRelease [-AdoptExistingAppleBuild] [-AllowManifestOutsideProjectRoot] [-AllowOutputOutsideProjectRoot] [-AppleAction <Configured>] [-AppleExpectedPlanSha256 <String>] [-ApplePollIntervalSeconds <Int32>] [-AppleProcessingTimeoutSeconds <Int32>] [-AppleResume] [-AppleShipAppStoreTarget <String[]>] [-AppleShipSyncScreenshots] [-AppleShipTestFlightTarget <String[]>] [-AppleSourceCommit <String>] [-AppleSummary] [-AppleVersion <String>] [-AppleWaitForProcessing] [-ChecksumsPath <String>] [-Configuration <String>] [-ConfirmAppleAction] [-ExitCode] [-Flavors <SingleContained|SingleFx|Portable|Fx>] [-Frameworks <String[]>] [-InstallerProperty <String[]>] [-KeepSymbols] [-ManifestJsonPath <String>] [-ModuleCertificateThumbprint <String>] [-ModuleDiagnosticsBaselinePath <String>] [-ModuleFailOnDiagnosticsSeverity <Warning|Error>] [-ModuleFailOnNewDiagnostics <Boolean>] [-ModuleFramework <auto|net10.0|net8.0>] [-ModuleGenerateDiagnosticsBaseline <Boolean>] [-ModuleNoDotnetBuild] [-ModuleNoSign] [-ModuleOnly] [-ModulePreReleaseTag <String>] [-ModuleRunMode <Manifest|Documentation|Build|Publish>] [-ModuleSignIncludeBinaries <Boolean>] [-ModuleSignIncludeExe <Boolean>] [-ModuleSignIncludeInternals <Boolean>] [-ModuleSignModule] [-ModuleSkipInstall] [-ModuleTimeoutSeconds <Int32>] [-ModuleUpdateDiagnosticsBaseline <Boolean>] [-ModuleVersion <String>] [-NoAppleResume] [-NoAppleWaitForProcessing] [-NoInteractive] [-OutputRoot <String>] [-PackageSignStore <CurrentUser|LocalMachine>] [-PackageSignThumbprint <String>] [-PackageSignTimestampUrl <String>] [-PackagesOnly] [-Plan] -Project <ConfigurationProject> [-PublishNuget] [-PublishProjectGitHub] [-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>] [-SignTimeoutSeconds <Int32>] [-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>] [-ToolsOnly] [-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>] [-WorkspaceTestimoXRoot <String>] [<CommonParameters>]
#
Parameter set: Project

Parameters

AdoptExistingAppleBuild SwitchParameter optionalposition: namedpipeline: False
Explicitly adopts a verified remote Apple build or accepted notarization operation. Local receipts provide continuity evidence but never authorize cross-process recovery by themselves; this switch requires ConfirmAppleAction and is intended only for deliberate recovery.
AllowManifestOutsideProjectRoot SwitchParameter optionalposition: namedpipeline: False
Allows DotNetPublish-backed manifest/report paths to resolve outside the configured project root.
AllowOutputOutsideProjectRoot SwitchParameter optionalposition: namedpipeline: False
Allows DotNetPublish-backed outputs to resolve outside the configured project root.
AppleAction PowerForgeAppleReleaseAction optionalposition: namedpipeline: Falsevalues: 17
Selects one explicit Apple release operation. Configured preserves legacy JSON action flags.
Possible values: Configured, Status, Doctor, Version, Archive, Upload, UploadExisting, Prepare, Screenshots, TestFlight, Advance, SubmitTestFlightReview, SubmitAppReview, Release, Cleanup, Rehearse, Ship
AppleExpectedPlanSha256 String optionalposition: namedpipeline: False
Requires the persisted Apple plan receipt to match this exact SHA-256.
ApplePollIntervalSeconds Int32 optionalposition: namedpipeline: False
App Store Connect processing poll interval in seconds.
AppleProcessingTimeoutSeconds Int32 optionalposition: namedpipeline: False
Maximum App Store Connect processing wait in seconds.
AppleResume SwitchParameter optionalposition: namedpipeline: False
Enables recovery discovery; deliberate cross-process reuse also requires AdoptExistingAppleBuild and ConfirmAppleAction.
AppleShipAppStoreTarget String[] optionalposition: namedpipeline: False
Apple target names or schemes that should be submitted to App Store Review by Ship.
AppleShipSyncScreenshots SwitchParameter optionalposition: namedpipeline: False
Publishes reviewed local screenshot bytes during Ship instead of reusing complete remote screenshots.
AppleShipTestFlightTarget String[] optionalposition: namedpipeline: False
Apple target names or schemes that should receive the Ship build through internal TestFlight.
AppleSourceCommit String optionalposition: namedpipeline: False
Binds Apple release evidence to a full 40-character SHA-1 or 64-character SHA-256 source commit.
AppleSummary SwitchParameter optionalposition: namedpipeline: False
Requests compact Apple receipt-oriented output from compatible hosts.
AppleVersion String optionalposition: namedpipeline: False
Overrides the Apple marketing version selected for this operation.
AppleWaitForProcessing SwitchParameter optionalposition: namedpipeline: False
Waits for App Store Connect build processing on this run.
ChecksumsPath String optionalposition: namedpipeline: False
Optional release checksums output path override.
Configuration String optionalposition: namedpipeline: False
Optional configuration override.
ConfirmAppleAction SwitchParameter optionalposition: namedpipeline: False
Explicitly confirms a risky Apple screenshot replacement, review submission, or public release action.
ExitCode SwitchParameter optionalposition: namedpipeline: False
Sets host exit code: 0 on success, 1 on failure.
Flavors String[] optionalposition: namedpipeline: Falsealiases: Flavorvalues: 4
Optional legacy tool flavor filter.
Possible values: SingleContained, SingleFx, Portable, Fx
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.
ModuleCertificateThumbprint String optionalposition: namedpipeline: False
Optional signing certificate thumbprint for the native module-release lane.
ModuleDiagnosticsBaselinePath String optionalposition: namedpipeline: False
Optional diagnostics baseline path for the native module-release lane.
ModuleFailOnDiagnosticsSeverity String optionalposition: namedpipeline: Falsevalues: 2
Optional diagnostics severity threshold for the native module-release lane.
Possible values: Warning, Error
ModuleFailOnNewDiagnostics Boolean optionalposition: namedpipeline: False
Controls failure on new diagnostics in the native module-release lane.
ModuleFramework String optionalposition: namedpipeline: Falsevalues: 3
Target framework used by the native module-release lane.
Possible values: auto, net10.0, net8.0
ModuleGenerateDiagnosticsBaseline Boolean optionalposition: namedpipeline: False
Controls diagnostics baseline generation in the native module-release lane.
ModuleNoDotnetBuild SwitchParameter optionalposition: namedpipeline: False
Skips the dotnet build step inside the native module-release lane.
ModuleNoSign SwitchParameter optionalposition: namedpipeline: False
Disables signing for the native module-release lane.
ModuleOnly SwitchParameter optionalposition: namedpipeline: False
Executes only the module portion of the release.
ModulePreReleaseTag String optionalposition: namedpipeline: False
Optional prerelease tag override for the native module-release lane.
ModuleRunMode ConfigurationGateMode optionalposition: namedpipeline: Falsevalues: 4
Module pipeline gate used by the native module-release lane.
Possible values: Manifest, Documentation, Build, Publish
ModuleSignIncludeBinaries Boolean optionalposition: namedpipeline: False
Controls whether the native module-release lane signs binaries.
ModuleSignIncludeExe Boolean optionalposition: namedpipeline: False
Controls whether the native module-release lane signs executables.
ModuleSignIncludeInternals Boolean optionalposition: namedpipeline: False
Controls whether the native module-release lane signs internal files.
ModuleSignModule SwitchParameter optionalposition: namedpipeline: False
Enables signing for the native module-release lane.
ModuleSkipInstall SwitchParameter optionalposition: namedpipeline: False
Skips installation after the native module-release lane completes.
ModuleTimeoutSeconds Int32 optionalposition: namedpipeline: False
Maximum runtime in seconds for the native module-release lane.
ModuleUpdateDiagnosticsBaseline Boolean optionalposition: namedpipeline: False
Controls diagnostics baseline updates in the native module-release lane.
ModuleVersion String optionalposition: namedpipeline: False
Optional module version override for the native module-release lane.
NoAppleResume SwitchParameter optionalposition: namedpipeline: False
Disables exact remote-build reuse on this run.
NoAppleWaitForProcessing SwitchParameter optionalposition: namedpipeline: False
Returns after upload instead of waiting for build processing.
NoInteractive SwitchParameter optionalposition: namedpipeline: False
Disables the interactive Spectre renderer while preserving structured pipeline output.
OutputRoot String optionalposition: namedpipeline: False
Optional output root override for tool/app assets.
PackageSignStore String optionalposition: namedpipeline: Falsevalues: 2
Optional package-signing certificate store override.
Possible values: CurrentUser, LocalMachine
PackageSignThumbprint String optionalposition: namedpipeline: False
Optional package-signing thumbprint override.
PackageSignTimestampUrl String optionalposition: namedpipeline: False
Optional package-signing timestamp URL override.
PackagesOnly SwitchParameter optionalposition: namedpipeline: False
Executes only the package portion of the release.
Plan SwitchParameter optionalposition: namedpipeline: False
Builds the release plan without executing steps.
Project ConfigurationProject requiredposition: namedpipeline: False
PowerShell-authored project/release object that is translated into the unified release engine.
PublishNuget SwitchParameter optionalposition: namedpipeline: False
Enables NuGet publishing for this run.
PublishProjectGitHub SwitchParameter optionalposition: namedpipeline: False
Enables project/package GitHub release publishing for this run.
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 an explicitly 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 release config.
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.
SignTimeoutSeconds Int32 optionalposition: namedpipeline: False
Maximum signing process duration in seconds.
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 for DotNetPublish-backed release flows.
Possible values: Tool, Portable, Installer, Store
SkipWingetSubmit SwitchParameter optionalposition: namedpipeline: False
Disables Winget submission even when enabled by release configuration.
SkipWorkspaceValidation SwitchParameter optionalposition: namedpipeline: False
Skips workspace validation defined by the release config.
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 for DotNetPublish-backed release flows.
Possible values: Tool, Portable, Installer, Store
ToolsOnly SwitchParameter optionalposition: namedpipeline: False
Executes only the tool/app portion of the release.
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.
WorkspaceTestimoXRoot String optionalposition: namedpipeline: False
Optional TestimoX workspace root passed to shared workspace validation.

Outputs

PowerForge.PowerForgeReleaseResult, PowerForge.PowerForgeAppleReleaseReceipt