Skip to content

馃 [Fix]: Configured report paths are honored - #42

Merged
Marius Storhaug (MariusStorhaug) merged 9 commits into
mainfrom
analyzer-artifact-reports
Sep 10, 2026
Merged

馃 [Fix]: Configured report paths are honored#42
Marius Storhaug (MariusStorhaug) merged 9 commits into
mainfrom
analyzer-artifact-reports

Conversation

@MariusStorhaug

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

Copy link
Copy Markdown
Member

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.

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.

Technical details

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
Relevant issues (or links)

Related work

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

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

馃煛 Changes recommended

The aggregate gate ignores the new jobs, and the documented paths conflict with the stated .PSModule adoption.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Updates report-path handling through the nested Invoke-Pester action and adds regression coverage.

Changes:

  • Upgrades Invoke-Pester to v5.1.1.
  • Tests custom and default report destinations.
  • Documents report-path behavior.
File summaries
File Description
action.yml Updates the Invoke-Pester dependency.
.github/workflows/Action-Test.yml Adds report-path regression jobs.
tests/Assert-ReportPaths.ps1 Validates XML/JSON report locations.
README.md Documents report-path defaults and overrides.
Review details
  • Files reviewed: 4/4 changed files
  • Comments generated: 2
  • Review effort level: Balanced

馃挕 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/Action-Test.yml
Comment thread README.md
@MariusStorhaug Marius Storhaug (MariusStorhaug) changed the title Honor analyzer report-path inputs 馃 [Fix]: Configured report paths are honored Sep 10, 2026
@MariusStorhaug Marius Storhaug (MariusStorhaug) added the release:patch Publish a patch release. label Sep 10, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

馃煛 Changes recommended

The aggregate check can remain successful when either new report-path assertion step fails.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details
  • Files reviewed: 5/5 changed files
  • Comments generated: 2
  • Review effort level: Balanced

Comment thread .github/workflows/Action-Test.yml Outdated
Comment thread .github/workflows/Action-Test.yml Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

馃煝 Approved

The dependency pin is valid and the regression coverage verifies both configured and fallback paths.

Review details
  • Files reviewed: 5/5 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced

@MariusStorhaug
Marius Storhaug (MariusStorhaug) merged commit 9acddbd into main Sep 10, 2026
24 checks passed
@MariusStorhaug
Marius Storhaug (MariusStorhaug) deleted the analyzer-artifact-reports branch September 10, 2026 18:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:patch Publish a patch release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants