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

Namespace PSPublishModule
Inputs
PowerForge.ReleaseValidationSpec
Outputs
PowerForge.ReleaseValidationReport System.String

Validates final artifacts and runs isolated product smoke tests without publishing.

Remarks

Configuration can come from JSON, a typed object, or a settings block using New-ConfigurationReleaseValidation.

Examples

Authored help example

Validate a local package set


Invoke-ReleaseValidation -ConfigPath './Build/validation.json' -Variables @{ PackageRoot = './Artifacts/packages' }
        

Export a command contract as JSON


Invoke-ReleaseValidation -JsonOnly -Settings { New-ConfigurationReleaseValidation -Commands @{ Name = 'CLI help'; FileName = 'example'; Arguments = @('--help') } }
        

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-ReleaseValidation -ConfigPath <String> [-JsonOnly] [-JsonPath <String>] [-ProjectRoot <String>] [-Variables <Hashtable>] [-Version <String>] [<CommonParameters>]
#
Parameter set: Config

Parameters

ConfigPath String requiredposition: namedpipeline: False
Path to a release-validation JSON file.
JsonOnly SwitchParameter optionalposition: namedpipeline: False
Return JSON without executing validation.
JsonPath String optionalposition: namedpipeline: False
Optional configuration export path. Relative paths use the current PowerShell directory.
ProjectRoot String optionalposition: namedpipeline: False
Optional project-root override.
Variables Hashtable optionalposition: namedpipeline: False
Named path and value substitutions used by the configuration.
Version String optionalposition: namedpipeline: False
Expected artifact version; otherwise inferred from the package or module.

Outputs

PowerForge.ReleaseValidationReport, System.String

Invoke-ReleaseValidation -Configuration <ReleaseValidationSpec> [-JsonOnly] [-JsonPath <String>] [-ProjectRoot <String>] [-Variables <Hashtable>] [-Version <String>] [<CommonParameters>]
#
Parameter set: Configuration

Parameters

Configuration ReleaseValidationSpec requiredposition: namedpipeline: True (ByValue)
Typed validation configuration.
JsonOnly SwitchParameter optionalposition: namedpipeline: False
Return JSON without executing validation.
JsonPath String optionalposition: namedpipeline: False
Optional configuration export path. Relative paths use the current PowerShell directory.
ProjectRoot String optionalposition: namedpipeline: False
Optional project-root override.
Variables Hashtable optionalposition: namedpipeline: False
Named path and value substitutions used by the configuration.
Version String optionalposition: namedpipeline: False
Expected artifact version; otherwise inferred from the package or module.

Outputs

PowerForge.ReleaseValidationReport, System.String

Invoke-ReleaseValidation [-JsonOnly] [-JsonPath <String>] [-ProjectRoot <String>] -Settings <ScriptBlock> [-Variables <Hashtable>] [-Version <String>] [<CommonParameters>]
#
Parameter set: Settings

Parameters

JsonOnly SwitchParameter optionalposition: namedpipeline: False
Return JSON without executing validation.
JsonPath String optionalposition: namedpipeline: False
Optional configuration export path. Relative paths use the current PowerShell directory.
ProjectRoot String optionalposition: namedpipeline: False
Optional project-root override.
Settings ScriptBlock requiredposition: namedpipeline: False
Block that emits one New-ConfigurationReleaseValidation object.
Variables Hashtable optionalposition: namedpipeline: False
Named path and value substitutions used by the configuration.
Version String optionalposition: namedpipeline: False
Expected artifact version; otherwise inferred from the package or module.

Outputs

PowerForge.ReleaseValidationReport, System.String