Context and request
Observed behavior: Run_Container arrives as a string. The action passes it through ConvertTo-Hashtable, producing string metadata such as @{ Length = 15 }, and later splats that value into New-PesterContainer. Pester rejects the unsupported Length parameter.
Expected behavior: The action accepts a documented serialized container representation and creates the requested Pester containers, or rejects invalid input before execution with a clear error.
Reproduction:
- uses: PSModule/Invoke-Pester@v3
with:
Run_Container: container-value
The execution path attempts New-PesterContainer -Length 15 rather than constructing a ContainerInfo object.
Environment: GitHub composite action; verified against the Pester 6.1.0 container command. Direct string values are also discarded by Pester 5.8.0 and 6.1.0 configuration conversion.
Regression: Unknown. The declared action input does not currently define a transport format capable of preserving ContainerInfo objects.
Workaround: Reference .Container.ps1 files through Path, or define containers in a PowerShell configuration file.
Acceptance criteria
Technical decisions
GitHub Action inputs are scalar strings, while Pester expects ContainerInfo[]. The fix must define that boundary explicitly rather than relying on generic object-to-hashtable conversion.
Implementation plan
- Add the failing regression test.
- Select and document the serialized container schema.
- Add strict parsing and validation.
- Construct the containers and verify execution with supported Pester versions.
Context and request
Observed behavior:
Run_Containerarrives as a string. The action passes it throughConvertTo-Hashtable, producing string metadata such as@{ Length = 15 }, and later splats that value intoNew-PesterContainer. Pester rejects the unsupportedLengthparameter.Expected behavior: The action accepts a documented serialized container representation and creates the requested Pester containers, or rejects invalid input before execution with a clear error.
Reproduction:
The execution path attempts
New-PesterContainer -Length 15rather than constructing aContainerInfoobject.Environment: GitHub composite action; verified against the Pester 6.1.0 container command. Direct string values are also discarded by Pester 5.8.0 and 6.1.0 configuration conversion.
Regression: Unknown. The declared action input does not currently define a transport format capable of preserving
ContainerInfoobjects.Workaround: Reference
.Container.ps1files throughPath, or define containers in a PowerShell configuration file.Acceptance criteria
Technical decisions
GitHub Action inputs are scalar strings, while Pester expects
ContainerInfo[]. The fix must define that boundary explicitly rather than relying on generic object-to-hashtable conversion.Implementation plan