Skip to content

test: use generic report path examples - #85

Merged
Marius Storhaug (MariusStorhaug) merged 2 commits into
mainfrom
generic-report-examples
Sep 10, 2026
Merged

test: use generic report path examples#85
Marius Storhaug (MariusStorhaug) merged 2 commits into
mainfrom
generic-report-examples

Conversation

@MariusStorhaug

@MariusStorhaug Marius Storhaug (MariusStorhaug) commented Sep 10, 2026

Copy link
Copy Markdown
Member

Summary

  • exercise explicit report-path inputs with generic artifacts/... destinations
  • reject legacy WorkingDirectory fallback locations in that explicit-input scenario
  • document the same generic destinations in the README

Validation

  • Parsed .github/workflows/Action-Test.yml locally
  • Linted README.md locally with markdownlint-cli2
  • Passed the full remote Action-Test workflow, including Output Paths - Action inputs
  • Passed the remote Linter workflow

@MariusStorhaug
Marius Storhaug (MariusStorhaug) marked this pull request as ready for review September 10, 2026 18:26
Copilot AI balanced review requested due to automatic review settings September 10, 2026 18:26

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 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.

@MariusStorhaug
Marius Storhaug (MariusStorhaug) marked this pull request as ready for review September 10, 2026 18:30
@MariusStorhaug
Marius Storhaug (MariusStorhaug) merged commit c47a7ab into main Sep 10, 2026
41 checks passed
@MariusStorhaug
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants