test: use generic report path examples - #85
Merged
Conversation
Marius Storhaug (MariusStorhaug)
marked this pull request as ready for review
September 10, 2026 18:26
Marius Storhaug (MariusStorhaug)
marked this pull request as draft
September 10, 2026 18:26
Copilot started reviewing on behalf of
Marius Storhaug (MariusStorhaug)
September 10, 2026 18:26
View session
There was a problem hiding this comment.
🟢 Approved
The documentation and workflow assertions consistently validate the intended explicit report-path behavior.
Pull request overview
Updates report-path examples and CI coverage to use generic artifact destinations while rejecting legacy fallback paths.
Changes:
- Uses
artifacts/...paths in README examples. - Verifies explicit inputs override default report locations.
File summaries
| File | Description |
|---|---|
README.md |
Updates custom report-path examples. |
.github/workflows/Action-Test.yml |
Tests configured paths and rejects fallback outputs. |
Review details
- Files reviewed: 2/2 changed files
- Comments generated: 0
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Marius Storhaug (MariusStorhaug)
marked this pull request as ready for review
September 10, 2026 18:30
Marius Storhaug (MariusStorhaug)
deleted the
generic-report-examples
branch
September 10, 2026 18:30
Marius Storhaug (MariusStorhaug)
added a commit
to PSModule/Invoke-ScriptAnalyzer
that referenced
this pull request
Sep 10, 2026
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
artifacts/...destinationsWorkingDirectoryfallback locations in that explicit-input scenarioValidation
.github/workflows/Action-Test.ymllocallyREADME.mdlocally withmarkdownlint-cli2Action-Testworkflow, includingOutput Paths - Action inputsLinterworkflow