API Reference
Invoke-PowerForgeRelease
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
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 [-AllowManifestOutsideProjectRoot] [-AllowOutputOutsideProjectRoot] [-ChecksumsPath <String>] [-ConfigPath <String>] [-Configuration <Release|Debug>] [-ExitCode] [-Flavors <SingleContained|SingleFx|Portable|Fx>] [-Frameworks <String[]>] [-InstallerProperty <String[]>] [-KeepSymbols] [-ManifestJsonPath <String>] [-ModuleNoDotnetBuild] [-ModuleNoSign] [-ModuleOnly] [-ModulePreReleaseTag <String>] [-ModuleSignModule] [-ModuleVersion <String>] [-OutputRoot <String>] [-PackageSignStore <CurrentUser|LocalMachine>] [-PackageSignThumbprint <String>] [-PackageSignTimestampUrl <String>] [-PackagesOnly] [-Plan] [-PublishNuget] [-PublishProjectGitHub] [-PublishToolGitHub] [-Runtimes <String[]>] [-Sign] [-SignCsp <String>] [-SignDescription <String>] [-SignKeyContainer <String>] [-SignOnFailure <Nullable`1>] [-SignOnMissingTool <Nullable`1>] [-SignProfile <String>] [-SignSubjectName <String>] [-SignThumbprint <String>] [-SignTimestampUrl <String>] [-SignToolPath <String>] [-SignUrl <String>] [-SkipBuild] [-SkipReleaseChecksums] [-SkipRestore] [-SkipToolOutput <Tool|Portable|Installer|Store>] [-SkipWorkspaceValidation] [-StageRoot <String>] [-Styles <Portable>] [-Target <String[]>] [-ToolOutput <Tool|Portable|Installer|Store>] [-ToolsOnly] [-Validate] [-WorkspaceConfigPath <String>] [-WorkspaceDisableFeature <String[]>] [-WorkspaceEnableFeature <String[]>] [-WorkspaceProfile <String>] [<CommonParameters>]
#
ConfigParameters
- AllowManifestOutsideProjectRoot SwitchParameter
- Allows DotNetPublish-backed manifest/report paths to resolve outside the configured project root.
- AllowOutputOutsideProjectRoot SwitchParameter
- Allows DotNetPublish-backed outputs to resolve outside the configured project root.
- ChecksumsPath String
- Optional release checksums output path override.
- ConfigPath String
- Path to the unified release configuration file. When omitted, the cmdlet searches current and parent directories for standard release config file names.
- Configuration String
- Optional configuration override.
- Possible values:
Release,Debug - ExitCode SwitchParameter
- Sets host exit code: 0 on success, 1 on failure.
- Flavors String[]
- Optional legacy tool flavor filter.
- Possible values:
SingleContained,SingleFx,Portable,Fx - Frameworks String[]
- Optional framework filter.
- InstallerProperty String[]
- Optional installer MSBuild property overrides in Name=Value form.
- KeepSymbols SwitchParameter
- Keeps symbol files for tool/app artefacts.
- ManifestJsonPath String
- Optional release manifest output path override.
- ModuleNoDotnetBuild SwitchParameter
- Skips the dotnet build step inside the native module-release lane.
- ModuleNoSign SwitchParameter
- Disables signing for the native module-release lane.
- ModuleOnly SwitchParameter
- Executes only the module portion of the release.
- ModulePreReleaseTag String
- Optional prerelease tag override for the native module-release lane.
- ModuleSignModule SwitchParameter
- Enables signing for the native module-release lane.
- ModuleVersion String
- Optional module version override for the native module-release lane.
- OutputRoot String
- Optional output root override for tool/app assets.
- PackageSignStore String
- Optional package-signing certificate store override.
- Possible values:
CurrentUser,LocalMachine - PackageSignThumbprint String
- Optional package-signing thumbprint override.
- PackageSignTimestampUrl String
- Optional package-signing timestamp URL override.
- PackagesOnly SwitchParameter
- Executes only the package portion of the release.
- Plan SwitchParameter
- Builds the release plan without executing steps.
- PublishNuget SwitchParameter
- Enables NuGet publishing for this run.
- PublishProjectGitHub SwitchParameter
- Enables project/package GitHub release publishing for this run.
- PublishToolGitHub SwitchParameter
- Enables tool/app GitHub release publishing for this run.
- Runtimes String[]
- Optional runtime filter.
- Sign SwitchParameter
- Enables signing for tool/app outputs when supported by the release config.
- SignCsp String
- Optional signing CSP override.
- SignDescription String
- Optional signing description override.
- SignKeyContainer String
- Optional signing key container override.
- SignOnFailure Nullable`1
- Optional policy when signing fails.
- SignOnMissingTool Nullable`1
- Optional policy when the configured signing tool is missing.
- SignProfile String
- Optional signing profile override.
- SignSubjectName String
- Optional signing certificate subject name override.
- SignThumbprint String
- Optional signing thumbprint override.
- SignTimestampUrl String
- Optional signing timestamp URL override.
- SignToolPath String
- Optional signing tool path override.
- SignUrl String
- Optional signing URL override.
- SkipBuild SwitchParameter
- Disables build operations for the tool/app publish flow.
- SkipReleaseChecksums SwitchParameter
- Skips top-level release checksums generation.
- SkipRestore SwitchParameter
- Disables restore operations for the tool/app publish flow.
- SkipToolOutput String[]
- Optional tool/app output exclusion for DotNetPublish-backed release flows.
- Possible values:
Tool,Portable,Installer,Store - SkipWorkspaceValidation SwitchParameter
- Skips workspace validation defined by the release config.
- StageRoot String
- Optional staged release root override.
- Styles DotNetPublishStyle[]
- Optional publish style filter.
- Possible values:
Portable,PortableCompat,PortableSize,FrameworkDependent,AotSpeed,AotSize - Target String[]
- Optional target-name filter.
- ToolOutput String[]
- Optional tool/app output selection for DotNetPublish-backed release flows.
- Possible values:
Tool,Portable,Installer,Store - ToolsOnly SwitchParameter
- Executes only the tool/app portion of the release.
- Validate SwitchParameter
- Validates configuration through plan-only execution.
- WorkspaceConfigPath String
- Optional workspace validation config override.
- WorkspaceDisableFeature String[]
- Optional workspace feature disable list override.
- WorkspaceEnableFeature String[]
- Optional workspace feature enable list override.
- WorkspaceProfile String
- Optional workspace validation profile override.
Outputs
PowerForge.PowerForgeReleaseResult
Invoke-PowerForgeRelease [-AllowManifestOutsideProjectRoot] [-AllowOutputOutsideProjectRoot] [-ChecksumsPath <String>] [-Configuration <Release|Debug>] [-ExitCode] [-Flavors <SingleContained|SingleFx|Portable|Fx>] [-Frameworks <String[]>] [-InstallerProperty <String[]>] [-KeepSymbols] [-ManifestJsonPath <String>] [-ModuleNoDotnetBuild] [-ModuleNoSign] [-ModuleOnly] [-ModulePreReleaseTag <String>] [-ModuleSignModule] [-ModuleVersion <String>] [-OutputRoot <String>] [-PackageSignStore <CurrentUser|LocalMachine>] [-PackageSignThumbprint <String>] [-PackageSignTimestampUrl <String>] [-PackagesOnly] [-Plan] -Project <ConfigurationProject> [-PublishNuget] [-PublishProjectGitHub] [-PublishToolGitHub] [-Runtimes <String[]>] [-Sign] [-SignCsp <String>] [-SignDescription <String>] [-SignKeyContainer <String>] [-SignOnFailure <Nullable`1>] [-SignOnMissingTool <Nullable`1>] [-SignProfile <String>] [-SignSubjectName <String>] [-SignThumbprint <String>] [-SignTimestampUrl <String>] [-SignToolPath <String>] [-SignUrl <String>] [-SkipBuild] [-SkipReleaseChecksums] [-SkipRestore] [-SkipToolOutput <Tool|Portable|Installer|Store>] [-SkipWorkspaceValidation] [-StageRoot <String>] [-Styles <Portable>] [-Target <String[]>] [-ToolOutput <Tool|Portable|Installer|Store>] [-ToolsOnly] [-Validate] [-WorkspaceConfigPath <String>] [-WorkspaceDisableFeature <String[]>] [-WorkspaceEnableFeature <String[]>] [-WorkspaceProfile <String>] [<CommonParameters>]
#
ProjectParameters
- AllowManifestOutsideProjectRoot SwitchParameter
- Allows DotNetPublish-backed manifest/report paths to resolve outside the configured project root.
- AllowOutputOutsideProjectRoot SwitchParameter
- Allows DotNetPublish-backed outputs to resolve outside the configured project root.
- ChecksumsPath String
- Optional release checksums output path override.
- Configuration String
- Optional configuration override.
- Possible values:
Release,Debug - ExitCode SwitchParameter
- Sets host exit code: 0 on success, 1 on failure.
- Flavors String[]
- Optional legacy tool flavor filter.
- Possible values:
SingleContained,SingleFx,Portable,Fx - Frameworks String[]
- Optional framework filter.
- InstallerProperty String[]
- Optional installer MSBuild property overrides in Name=Value form.
- KeepSymbols SwitchParameter
- Keeps symbol files for tool/app artefacts.
- ManifestJsonPath String
- Optional release manifest output path override.
- ModuleNoDotnetBuild SwitchParameter
- Skips the dotnet build step inside the native module-release lane.
- ModuleNoSign SwitchParameter
- Disables signing for the native module-release lane.
- ModuleOnly SwitchParameter
- Executes only the module portion of the release.
- ModulePreReleaseTag String
- Optional prerelease tag override for the native module-release lane.
- ModuleSignModule SwitchParameter
- Enables signing for the native module-release lane.
- ModuleVersion String
- Optional module version override for the native module-release lane.
- OutputRoot String
- Optional output root override for tool/app assets.
- PackageSignStore String
- Optional package-signing certificate store override.
- Possible values:
CurrentUser,LocalMachine - PackageSignThumbprint String
- Optional package-signing thumbprint override.
- PackageSignTimestampUrl String
- Optional package-signing timestamp URL override.
- PackagesOnly SwitchParameter
- Executes only the package portion of the release.
- Plan SwitchParameter
- Builds the release plan without executing steps.
- Project ConfigurationProject
- PowerShell-authored project/release object that is translated into the unified release engine.
- PublishNuget SwitchParameter
- Enables NuGet publishing for this run.
- PublishProjectGitHub SwitchParameter
- Enables project/package GitHub release publishing for this run.
- PublishToolGitHub SwitchParameter
- Enables tool/app GitHub release publishing for this run.
- Runtimes String[]
- Optional runtime filter.
- Sign SwitchParameter
- Enables signing for tool/app outputs when supported by the release config.
- SignCsp String
- Optional signing CSP override.
- SignDescription String
- Optional signing description override.
- SignKeyContainer String
- Optional signing key container override.
- SignOnFailure Nullable`1
- Optional policy when signing fails.
- SignOnMissingTool Nullable`1
- Optional policy when the configured signing tool is missing.
- SignProfile String
- Optional signing profile override.
- SignSubjectName String
- Optional signing certificate subject name override.
- SignThumbprint String
- Optional signing thumbprint override.
- SignTimestampUrl String
- Optional signing timestamp URL override.
- SignToolPath String
- Optional signing tool path override.
- SignUrl String
- Optional signing URL override.
- SkipBuild SwitchParameter
- Disables build operations for the tool/app publish flow.
- SkipReleaseChecksums SwitchParameter
- Skips top-level release checksums generation.
- SkipRestore SwitchParameter
- Disables restore operations for the tool/app publish flow.
- SkipToolOutput String[]
- Optional tool/app output exclusion for DotNetPublish-backed release flows.
- Possible values:
Tool,Portable,Installer,Store - SkipWorkspaceValidation SwitchParameter
- Skips workspace validation defined by the release config.
- StageRoot String
- Optional staged release root override.
- Styles DotNetPublishStyle[]
- Optional publish style filter.
- Possible values:
Portable,PortableCompat,PortableSize,FrameworkDependent,AotSpeed,AotSize - Target String[]
- Optional target-name filter.
- ToolOutput String[]
- Optional tool/app output selection for DotNetPublish-backed release flows.
- Possible values:
Tool,Portable,Installer,Store - ToolsOnly SwitchParameter
- Executes only the tool/app portion of the release.
- Validate SwitchParameter
- Validates configuration through plan-only execution.
- WorkspaceConfigPath String
- Optional workspace validation config override.
- WorkspaceDisableFeature String[]
- Optional workspace feature disable list override.
- WorkspaceEnableFeature String[]
- Optional workspace feature enable list override.
- WorkspaceProfile String
- Optional workspace validation profile override.
Outputs
PowerForge.PowerForgeReleaseResult