You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
🪲 [Fix]: Configured report paths are honored (#42)
Configured `TestResult_OutputPath` and `CodeCoverage_OutputPath` values
now reach `Invoke-Pester` unchanged, so enabled reports are written to
the locations selected by the caller. Callers that leave either input
empty retain the existing `Invoke-Pester` fallback path relative to
`WorkingDirectory`.
## Fixed: Configured report paths
The action now uses `Invoke-Pester` v5.1.1, which honors configured
report output paths and keeps its action-private temporary state outside
the caller worktree. Set either input independently when that report
needs a custom destination; the other report continues to use its
configured or default behavior.
```yaml
with:
TestResult_OutputPath: artifacts/TestResult/results.xml
CodeCoverage_OutputPath: artifacts/CodeCoverage/coverage.xml
```
## Adopting this release
1. Select the release containing this fix in the
`PSModule/Invoke-ScriptAnalyzer` workflow reference.
2. Existing callers that leave both output-path inputs empty need no
configuration, code, or invocation changes; reports continue to use the
established `Invoke-Pester` defaults below `WorkingDirectory`.
3. Existing callers that already set `TestResult_OutputPath` or
`CodeCoverage_OutputPath` need no configuration change; the configured
location is now honored. Set either input when a report should use a new
custom destination.
## Release impact
| Field | Value |
| --- | --- |
| Effective decision | `release:patch`, selected for a
backward-compatible report-path correction. |
| Semantic effect | Patch, stable; configured output paths now work as
documented and omitted inputs retain their prior behavior. |
| Release/base coordinates | Final coordinates are resolved by the
release process at publication. The published record supplies the target
version, tag, immutable source, version-computation base, and
release/source baseline. |
---
<details>
<summary>Technical details</summary>
### Consumer change record
| Identifier / surface | Before | After | Applicability / prerequisites
| Consumer action | Verification |
| --- | --- | --- | --- | --- | --- |
| REPORT-PATH-OVERRIDE / `TestResult_OutputPath`,
`CodeCoverage_OutputPath` | `Invoke-Pester` v5.1.0 overwrote values
forwarded by this action, so configured destinations were not used. |
`Invoke-Pester` v5.1.1 retains each configured path. Empty inputs retain
`TestResult/PSScriptAnalyzer-TestResult-Report.xml` and
`CodeCoverage/PSScriptAnalyzer-CodeCoverage-Report.xml` below
`WorkingDirectory`. | Callers that enable test-result or code-coverage
reports. | Select this release. No change is needed for existing
configured paths or omitted inputs; optionally set either input to
choose a destination. | The action-test suite verifies explicit generic
`artifacts/...` paths, XML and JSON report creation, absence of legacy
root report and `.temp` directories for the explicit case, and preserved
fallback paths when inputs are omitted. |
### Template baseline
Not applicable. This composite action does not consume an integration
template. Downstream framework adoption is tracked separately in
PSModule/Process-PSModule#541.
### Maintainer evidence
- `action.yml` pins the published `Invoke-Pester` v5.1.1 fix to
immutable commit `c5494aba3c07d7bfd81bdbbc9f301e8fa4a729fb`.
- The focused action-test jobs cover both explicit overrides and
omitted-input fallback behavior; `tests/Assert-ReportPaths.ps1` verifies
generated XML and JSON reports and expected directory isolation.
- `README.md` documents the preserved fallback behavior and generic
explicit override example.
- Implementation plan progress: complete. The report-path regression was
made red against v5.1.0 before the dependency was updated, then passed
with v5.1.1.
- Standards and framework alignment: reviewed GitHub Actions dependency
pinning, action input contracts, PowerShell test conventions, and
Markdown documentation; aligned.
- Issue convergence sweep: the completed diff addresses the configured
report-path regression only; no additional issues were identified as
fully satisfied.
| Changed surface | Standards checked | Framework docs checked | Result
|
| --- | --- | --- | --- |
| `action.yml` | Dependencies, GitHub Actions | Composite action input
contract; Invoke-Pester v5.1.1 release notes | Aligned |
| `.github/workflows/Action-Test.yml`, `tests/Assert-ReportPaths.ps1` |
Testing, GitHub Actions, PowerShell | Invoke-Pester report-path and
temporary-state contract | Aligned |
| `README.md` | Documentation, Markdown | GitHub Action input
documentation | Aligned |
</details>
<details>
<summary>Relevant issues (or links)</summary>
### Related work
- Depends on PSModule/Invoke-Pester#78
- Followed by PSModule/Process-PSModule#541
- Followed by PSModule/Invoke-Pester#85
</details>
0 commit comments