Skip to content

Commit 96a4f16

Browse files
Reusable action readers get direct behavior descriptions (#569)
Reusable action readers get direct descriptions of test results, coverage thresholds, and setup guidance. Three READMEs use present-tense statements and name the actor for each result. The prose edits require no caller changes. <!-- ANNOUNCEMENT STOP --> ## Changed: Reusable action guidance names each actor The Pester-result reference states what the action collects, writes, and treats as a failure. The coverage reference states how the action uses the target and summary-selection input. The installer reference uses neutral setup prose instead of promotion. The workflow recommendation remains advisory. Input settings, output and artifact names, commands, complete examples, version references, and failure semantics stay unchanged. Four short site-action references need no edit. Existing source-contract gaps remain explicit exceptions in the open follow-up; this PR does not certify or repair them. <details> <summary>Technical details</summary> ### Delivery and immutable scope This draft opens after the first coherent commit. It stays draft; merge, auto-merge, and Agent merge are excluded. | Identity | Value | | --- | --- | | Repository | `PSModule/Process-PSModule` | | Scoped PR base and evidence snapshot | `64ffb1d87f86bd5d487891fdb140b78385a00531` | | Pushed final head | `2742b3da509fbdd67caf5c5c5d2c19a8959dd899` | | First commit | `11e54fa38bb4a2aae57140ed6c55efecfa4f8726` - test-result prose | | Second commit | `cb48ff8308ddb46d98eb3527f0e4dbc4289b705c` - coverage prose | | Third commit | `2742b3da509fbdd67caf5c5c5d2c19a8959dd899` - neutral installer prose | | Comparison | `git diff 64ffb1d 2742b3d` | The remote branch and GitHub report the same final head. The worktree is clean. This is scoped prose-only evidence, not a release-bound coverage record. Release labels, publication behavior, and configuration remain unchanged. ### Reviewed paths All paths below are under `.github/actions/`. Every README has a full manual review against its local `action.yml` and entry script. The coverage helper, site helper scripts, Pester caller workflows, and [pinned GitHub-Script bootstrap](https://github.com/PSModule/GitHub-Script/tree/8083ec1f733f00357ee4d0db0c6056686e483bc0) supply related evidence. | README | Writing result | Factual result | | --- | --- | --- | | `Get-PesterTestResults/README.md` | Changed: direct collection, log, failure, and caller prose | `Latest` default and standalone example remain exceptions, not accuracy passes | | `Get-PesterCodeCoverage/README.md` | Changed: direct results, threshold, and summary-control prose | Download prerequisite, output route, `Latest` default, and standalone example remain exceptions, not accuracy passes | | `Install-PSModule/README.md` | Changed: neutral introduction, recommendation, output statement, and example lead-in | `Helpers`/`PSModule`, copied version, and both examples remain exceptions, not accuracy passes | | `Build-ZensicalSite/README.md` | Reviewed, no change | Metadata/source agree with the documented output path and required input | | `Inject-SiteScripts/README.md` | Reviewed, no change | Metadata/source agree with the injector path and required/default inputs | | `Install-Zensical/README.md` | Reviewed, no change | Source installs the CLI with `pip install zensical`; metadata defines no inputs | | `Structure-Site/README.md` | Reviewed, no change | Metadata/source agree with content/config output and required/optional inputs | All four no-change files retain their baseline Git blob identities. No new reference layout or template scaffolding is added. ### Exact before/after evidence | Surface | Before | After | | --- | --- | --- | | Test-result introduction | `A GitHub Action that gathers Pester test results for the PSModule process by analyzing test artifacts from the workflow run.` | `This GitHub Action collects Pester test results from workflow artifacts for the PSModule process.` | | Test-result work and result | `It validates test execution and results, providing a summary and failing if any tests are unsuccessful.` | `The action examines test execution and results. It writes a summary and fails if tests do not pass.` | | Advice in all three changed READMEs | `It is recommended to use the [Process-PSModule workflow](https://github.com/PSModule/Process-PSModule) to automate the whole process of managing the PowerShell module.` | `For the recommended setup, use the [Process-PSModule workflow](https://github.com/PSModule/Process-PSModule) to automate PowerShell module management.` | | Test-result logs | `Detailed results are logged in the workflow run's output.` | `The action writes detailed results to the workflow run log.` | | Test-result failure | `If any tests fail or errors occur, the action exits with a non-zero code, marking the workflow step as failed.` | `If tests fail or errors occur, the action exits with a nonzero code. GitHub Actions marks the workflow step as failed.` | | Coverage threshold | `Fails the workflow if coverage falls below specified targets.` | `If coverage is below the specified target, the action fails the workflow.` | | Coverage troubleshooting | `Enable debugging by setting inputs:` | `To get debug and verbose output, set these inputs:` | | Installer example lead-in | `Here's a complete workflow example demonstrating how to use the Install-PSModule action:` | `This example shows the action in a workflow:` | The test-result behavior matches [artifact collection](https://github.com/PSModule/Process-PSModule/blob/64ffb1d87f86bd5d487891fdb140b78385a00531/.github/actions/Get-PesterTestResults/src/main.ps1#L24-L25), [result/failure evaluation](https://github.com/PSModule/Process-PSModule/blob/64ffb1d87f86bd5d487891fdb140b78385a00531/.github/actions/Get-PesterTestResults/src/main.ps1#L136-L195), and [summary/exit handling](https://github.com/PSModule/Process-PSModule/blob/64ffb1d87f86bd5d487891fdb140b78385a00531/.github/actions/Get-PesterTestResults/src/main.ps1#L201-L240). Coverage target selection matches [lines 123-131](https://github.com/PSModule/Process-PSModule/blob/64ffb1d87f86bd5d487891fdb140b78385a00531/.github/actions/Get-PesterCodeCoverage/src/main.ps1#L123-L131); failure below target matches [lines 389-397](https://github.com/PSModule/Process-PSModule/blob/64ffb1d87f86bd5d487891fdb140b78385a00531/.github/actions/Get-PesterCodeCoverage/src/main.ps1#L389-L397). ### Retained factual exceptions #572 is the open owning-repository Task for each exception below. Existing action-folder and action-repository issues were checked before it was filed; they do not own these repairs. | Exception | Evidence and preserved boundary | | --- | --- | | Installer module and copied version | The README names `Helpers` and a latest copy; [local source](https://github.com/PSModule/Process-PSModule/blob/64ffb1d87f86bd5d487891fdb140b78385a00531/.github/actions/Install-PSModule/src/main.ps1#L8-L17) installs bundled `PSModule` at `999.0.0`. All three behavior bullets and both fenced examples remain unchanged. | | Coverage CLI prerequisite | The README requires `gh run download`; [local source](https://github.com/PSModule/Process-PSModule/blob/64ffb1d87f86bd5d487891fdb140b78385a00531/.github/actions/Get-PesterCodeCoverage/src/main.ps1#L34-L35) delegates to PowerShell artifact functions. A transitive CLI requirement is not established by this local script. The exact requirement and command remain unchanged. | | Coverage output route | [Local metadata](https://github.com/PSModule/Process-PSModule/blob/64ffb1d87f86bd5d487891fdb140b78385a00531/.github/actions/Get-PesterCodeCoverage/action.yml#L38-L59) refers to a step with no `id`; [pinned GitHub-Script metadata](https://github.com/PSModule/GitHub-Script/blob/8083ec1f733f00357ee4d0db0c6056686e483bc0/action.yml#L73-L76) exposes only `result`. [The script](https://github.com/PSModule/Process-PSModule/blob/64ffb1d87f86bd5d487891fdb140b78385a00531/.github/actions/Get-PesterCodeCoverage/src/main.ps1#L224-L226) writes the value to the inner step's `GITHUB_OUTPUT`. The outer output is not established; neither metadata nor the documented output is changed here. | | Pester `Version` defaults | Both README tables retain `Latest`. [The pinned bootstrap](https://github.com/PSModule/GitHub-Script/blob/8083ec1f733f00357ee4d0db0c6056686e483bc0/src/init.ps1#L21-L68) can reuse an installed GitHub module when no version is set. An unconditional latest-version guarantee is not established for that environment. | | Coverage standalone/local example | `Get-PesterCodeCoverage/README.md` calls `PSModule/Get-PesterCodeCoverage@v1`; the framework caller uses `./_wf/.github/actions/Get-PesterCodeCoverage`. The targets differ. The exact example remains unchanged; source equivalence is not established. | | Test-result standalone/local example | `Get-PesterTestResults/README.md` calls `PSModule/Get-PesterTestResults@v1`; the framework caller uses `./_wf/.github/actions/Get-PesterTestResults`. The targets differ. The exact example remains unchanged; source equivalence is not established. | | Installer standalone/local examples | Both examples call `PSModule/Install-PSModule@v1`; the local composite runs its bundled script. The full example queries `Helpers`, while local source installs `PSModule`. Both examples remain unchanged; source equivalence is not established. | These are not acceptance passes for factual accuracy. No live workflow reproduction is claimed for the output-route defect. No contract, runtime, lifecycle metadata, version policy, or example-target repair is included in this writing PR. ### Validation The existing Markdown configuration runs on all seven owned files: ```powershell $readmes = @( '.github\actions\Build-ZensicalSite\README.md', '.github\actions\Get-PesterCodeCoverage\README.md', '.github\actions\Get-PesterTestResults\README.md', '.github\actions\Inject-SiteScripts\README.md', '.github\actions\Install-PSModule\README.md', '.github\actions\Install-Zensical\README.md', '.github\actions\Structure-Site\README.md' ) npx --no-install markdownlint-cli2 --config .github\linters\.markdown-lint.yml @readmes git diff --check 64ffb1d HEAD ``` Both commands exit `0`. Markdownlint checks seven files and reports zero issues. It uses `markdownlint-cli2 v0.24.0` and `markdownlint v0.42.0`. The same check passes before edits and on each changed file. No dependency is installed. Native PowerShell comparisons against `git show <base>:<path>` verify all 11 complete fenced examples, including the indented `StepSummary_Mode` YAML block. They match after CRLF/LF normalization. The final fence matcher includes up to three leading spaces and matching closing indentation; this corrects the earlier column-zero-only count. The comparisons also verify unchanged headings apart from case, all six prose-link URLs, inline code identifiers, input name/required/default cells, the three conflicting installer bullets, and the deferred CLI requirement. The four no-change READMEs have identical Git blob hashes. Nine targeted wording checks fail on the original prose and pass after the edit. These preservation passes do not certify the retained contract claims. No dedicated documentation link checker exists in this checkout. Markdownlint checks same-file fragments. Both unchanged unique prose-link targets return HTTP `200` from `Invoke-WebRequest -Method Head`. Heading capitalization changes preserve their slugs. No cross-owner anchor or link repair is needed. A native Copilot review was explicitly requested. Review `5768356776` is `APPROVED` at the final head and has no inline comments. The review does not resolve or override the factual exceptions. At final inspection, all reported GitHub checks are complete with `SUCCESS` or `SKIPPED`; none reports failure. This includes the repository linter and both default/manifest workflow test runs. ### Standards and framework alignment The fixed writing source is `MSXOrg/docs@1b0d4893c8fefabe604d04393068a8ff6f848082`, not a moving branch. The review reads [Documentation Model](https://github.com/MSXOrg/docs/blob/1b0d4893c8fefabe604d04393068a8ff6f848082/src/docs/Ways-of-Working/Documentation-Model.md), [Natural Language](https://github.com/MSXOrg/docs/blob/1b0d4893c8fefabe604d04393068a8ff6f848082/src/docs/Coding-Standards/Natural-Language.md), [Writing Guide](https://github.com/MSXOrg/docs/blob/1b0d4893c8fefabe604d04393068a8ff6f848082/src/docs/Coding-Standards/Writing-Guide.md), [Markdown](https://github.com/MSXOrg/docs/blob/1b0d4893c8fefabe604d04393068a8ff6f848082/src/docs/Coding-Standards/Markdown.md), [Documentation](https://github.com/MSXOrg/docs/blob/1b0d4893c8fefabe604d04393068a8ff6f848082/src/docs/Coding-Standards/Documentation.md), and the [reference/guide templates](https://github.com/MSXOrg/docs/blob/1b0d4893c8fefabe604d04393068a8ff6f848082/src/docs/Ways-of-Working/Spec-Driven-Development-Templates.md). Pinned Task, PR Format, and commit conventions govern the delivery evidence. The review also reads the official [STE description](https://www.asd-ste100.org/about_STE.html), [FAQ](https://www.asd-ste100.org/STE_faq.html), and relevant rules and dictionary entries in [Issue 9](https://doi.org/10.5281/zenodo.23666006). The local read-only PDF matches the publisher's MD5, `9c720341c350ed77943b2c73d01c716f`. All required sources are available. No manual content is republished. No automated scan proves full STE conformance. | Changed surface | Standards checked | Framework docs checked | Result | | --- | --- | --- | --- | | `.github/actions/Get-PesterTestResults/README.md` | Pinned writing, Markdown, Documentation Model, reference/guide format; relevant STE rules/dictionary | Local action metadata, entry script, Pester caller, pinned GitHub-Script bootstrap | Writing fixed in this PR; factual exceptions owned by #572 | | `.github/actions/Get-PesterCodeCoverage/README.md` | Same pinned writing and reference standards | Local action metadata, entry/helper scripts, Pester caller, pinned GitHub-Script output/bootstrap | Writing fixed in this PR; factual exceptions owned by #572 | | `.github/actions/Install-PSModule/README.md` | Same pinned writing and reference standards | Local action metadata and bundled-module installation source | Neutral writing fixed in this PR; factual exceptions owned by #572 | ### Plan, ownership, and exclusions The delivery issue's test-first plan records expected wording properties and baseline failures before edits, full source review, small commits, the early draft, final preservation checks, and retained factual exceptions. The writing steps are complete. The open follow-up owns the contract work. Open PR ownership is checked before each commit. No other PR changes an assigned README. Direct inspection confirms that #551 changes no README or action metadata. The scoped issue-convergence sweep checks open README/action issues, the seven action names, the documentation-writing-alignment family, and #442 and #360. Only #557 is satisfied by this writing diff. The follow-up and sibling issues remain open. Excluded paths are all other README files; `.github/actions/**/action.yml`; action runtime source and native help under `.github/actions/**/src/**`; tests; `docs/**`; `.github/plugin/**`; `.github/workflows/**`; site configuration and generated output. Publish, Release, Resolve, and Cleanup action docs belong to existing release/recovery PRs and are excluded in full. No new linter, dependency, generated file, site design, or framework behavior is added. </details> <details> <summary>Related references</summary> - Resolves #557 - Followed by #572 </details>
1 parent 800ad2a commit 96a4f16

3 files changed

Lines changed: 65 additions & 65 deletions

File tree

‎.github/actions/Get-PesterCodeCoverage/README.md‎

Lines changed: 39 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
# Get-PesterCodeCoverage
22

3-
A GitHub Action that aggregates Pester code coverage reports and generates a detailed summary with coverage statistics.
4-
Fails the workflow if coverage falls below specified targets.
3+
This GitHub Action collects Pester code coverage reports and writes a summary of coverage statistics.
4+
If coverage is below the specified target, the action fails the workflow.
55

6-
This GitHub Action is a part of the [PSModule framework](https://github.com/PSModule). It is recommended to use the
7-
[Process-PSModule workflow](https://github.com/PSModule/Process-PSModule) to automate the whole process of managing the PowerShell module.
6+
The [PSModule framework](https://github.com/PSModule) includes this action.
7+
For the recommended setup, use the [Process-PSModule workflow](https://github.com/PSModule/Process-PSModule) to automate PowerShell module management.
88

99
## Features
1010

11-
- Combines multiple code coverage reports from parallel test runs
12-
- Generates Markdown/HTML tables showing missed & executed commands
13-
- Displays analyzed files and coverage statistics
14-
- Generates a generic missed-path report (Markdown + JSON)
15-
- Configurable step summary sections
16-
- Threshold enforcement for minimum code coverage
11+
- Collects code coverage reports from parallel test runs.
12+
- Writes Markdown and HTML tables of missed and executed commands.
13+
- Shows analyzed files and coverage statistics.
14+
- Writes a missed-path report in Markdown and JSON.
15+
- Selects step summary sections from the action input.
16+
- Fails the workflow if coverage is below the target.
1717

1818
## Usage
1919

@@ -26,10 +26,10 @@ This GitHub Action is a part of the [PSModule framework](https://github.com/PSMo
2626
| `Version` | Version of the GitHub module to install; accepts an exact version or a NuGet version range (for example `[1.2.0, 2.0.0)`) | No | Latest |
2727
| `Prerelease` | Allow prerelease versions | No | `false` |
2828
| `WorkingDirectory` | Working directory for the action | No | `.` |
29-
| `StepSummary_Mode` | Controls which sections to show in the GitHub step summary. Use 'Full' for all sections, 'None' to disable, or a comma-separated list of 'Missed, Executed, Files'. | No | `Missed, Files` |
29+
| `StepSummary_Mode` | Select the sections in the GitHub step summary. Use 'Full' for all sections, 'None' to disable, or a comma-separated list of 'Missed, Executed, Files'. | No | `Missed, Files` |
3030
| `CodeCoveragePercentTarget` | Target code coverage percentage | No | Max target from individual reports |
3131

32-
### Example Workflow
32+
### Example workflow
3333

3434
```yaml
3535
- name: Process Code Coverage
@@ -43,22 +43,22 @@ This GitHub Action is a part of the [PSModule framework](https://github.com/PSMo
4343
4444
| Name | Description |
4545
| ---- | ----------- |
46-
| `MissedPathReportPath` | Folder path containing `CodeCoverage-MissedPaths.md` and `CodeCoverage-MissedPaths.json` |
46+
| `MissedPathReportPath` | Path to the folder with `CodeCoverage-MissedPaths.md` and `CodeCoverage-MissedPaths.json` |
4747

48-
### GitHub Step Summary
48+
### GitHub step summary
4949

50-
The action generates a detailed summary visible in the GitHub Actions UI:
50+
The action writes a detailed summary to the GitHub Actions UI:
5151

52-
1. **Coverage Overview Table**
53-
- Coverage percentage vs target
54-
- Analyzed/executed/missed command counts
55-
- Number of files analyzed
52+
1. **Coverage overview table**
53+
- Coverage percentage and target
54+
- Analyzed, executed, and missed command counts
55+
- Number of analyzed files
5656

57-
2. **Expandable Sections**
58-
- **Missed Commands**: HTML table with code snippets
59-
- **Executed Commands**: HTML table with code snippets
60-
- **Analyzed Files**: List of covered files
61-
- **Missed Paths**: Aggregated missed-command counts grouped by file path
57+
2. **Expandable sections**
58+
- **Missed commands**: HTML table with code snippets
59+
- **Executed commands**: HTML table with code snippets
60+
- **Analyzed files**: List of covered files
61+
- **Missed paths**: Missed-command counts for each file path
6262

6363
Example summary:
6464

@@ -77,10 +77,10 @@ Summary:
7777

7878
## Requirements
7979

80-
1. **Pester 6.1 Code Coverage Reports**
80+
1. **Pester 6.1 code coverage reports**
8181

82-
Preceding steps must generate JSON coverage reports named `*-CodeCoverage*.json`
83-
from the Pester 6.1 `CodeCoverage` result object. The action consumes
82+
Earlier steps must create JSON coverage reports named `*-CodeCoverage*.json`
83+
from the Pester 6.1 `CodeCoverage` result object. The action reads
8484
`CoveragePercent`, `CoveragePercentTarget`, `CommandsMissed`,
8585
`CommandsExecuted`, and `FilesAnalyzed` plus their count properties.
8686

@@ -89,18 +89,19 @@ Summary:
8989

9090
## Behavior
9191

92-
1. **Coverage Calculation**
93-
- Combines multiple coverage reports
94-
- Removes duplicate entries
95-
- Calculates aggregate coverage percentage
92+
1. **Coverage calculation**
93+
- Collects multiple coverage reports.
94+
- Removes duplicate entries.
95+
- Calculates the total coverage percentage across all reports.
9696

97-
2. **Threshold Enforcement**
98-
Fails the workflow if coverage is below either:
99-
- Explicitly specified `CodeCoveragePercentTarget`
100-
- Highest target from individual reports (if no target specified)
97+
2. **Threshold enforcement**
98+
If coverage is below the applicable target, the action fails the workflow.
99+
The action uses:
100+
- The explicit `CodeCoveragePercentTarget` value, if the input has a value.
101+
- The highest target from individual reports, if the input has no value.
101102

102-
3. **Output Control**
103-
Configure visibility of sections using `StepSummary_Mode`:
103+
3. **Output control**
104+
Use `StepSummary_Mode` to select the summary sections:
104105
```yaml
105106
# Show all sections
106107
StepSummary_Mode: Full
@@ -114,7 +115,7 @@ Summary:
114115

115116
## Troubleshooting
116117

117-
Enable debugging by setting inputs:
118+
To get debug and verbose output, set these inputs:
118119
```yaml
119120
with:
120121
Debug: true
Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,42 @@
11
# Get-PesterTestResults
22

3-
A GitHub Action that gathers Pester test results for the PSModule process by analyzing test artifacts from the workflow run.
4-
It validates test execution and results, providing a summary and failing if any tests are unsuccessful.
3+
This GitHub Action collects Pester test results from workflow artifacts for the PSModule process.
4+
The action examines test execution and results. It writes a summary and fails if tests do not pass.
55

6-
This GitHub Action is a part of the [PSModule framework](https://github.com/PSModule). It is recommended to use the
7-
[Process-PSModule workflow](https://github.com/PSModule/Process-PSModule) to automate the whole process of managing the PowerShell module.
6+
The [PSModule framework](https://github.com/PSModule) includes this action.
7+
For the recommended setup, use the [Process-PSModule workflow](https://github.com/PSModule/Process-PSModule) to automate PowerShell module management.
88

99
## Usage
1010

11-
This action retrieves test artifacts named `*-TestResults`, processes the contained JSON files, and checks for test failures, unexecuted tests,
12-
or missing results. It supports three categories of test suites: Source Code, PSModule, and Module tests.
11+
The action gets artifacts named `*-TestResults` and reads their JSON files.
12+
It finds test failures, tests that did not run, and missing results.
13+
The action supports Source Code, PSModule, and Module test suites.
1314

1415
### Inputs
1516

1617
| Input | Description | Required | Default |
1718
|-------------------------|-------------------------------------------------------------------------------------------------------------------------------|----------|-----------|
18-
| `SourceCodeTestSuites` | JSON array specifying OS names for Source Code test suites. Example: `[{"OSName": "Windows"}]` | Yes | |
19-
| `PSModuleTestSuites` | JSON array specifying OS names for PSModule test suites. Example: `[{"OSName": "Linux"}]` | Yes | |
20-
| `ModuleTestSuites` | JSON array specifying TestName and OSName for Module test suites. Example: `[{"TestName": "Integration", "OSName": "MacOS"}]` | Yes | |
19+
| `SourceCodeTestSuites` | JSON array that specifies OS names for Source Code test suites. Example: `[{"OSName": "Windows"}]` | Yes | |
20+
| `PSModuleTestSuites` | JSON array that specifies OS names for PSModule test suites. Example: `[{"OSName": "Linux"}]` | Yes | |
21+
| `ModuleTestSuites` | JSON array that specifies TestName and OSName for Module test suites. Example: `[{"TestName": "Integration", "OSName": "MacOS"}]` | Yes | |
2122
| `BeforeAllModuleLocalResult` | Workflow result for the `BeforeAll-ModuleLocal` job (`success`, `failure`, `skipped`). | No | `skipped` |
2223
| `Debug` | Enable debug output (`true`/`false`). | No | `false` |
2324
| `Verbose` | Enable verbose output (`true`/`false`). | No | `false` |
24-
| `Version` | Exact version of the GitHub module to install (e.g., `1.0.0`). | No | Latest |
25-
| `Prerelease` | Allow installing prerelease module versions (`true`/`false`). | No | `false` |
25+
| `Version` | Exact version of the GitHub module to install (for example, `1.0.0`). | No | Latest |
26+
| `Prerelease` | Allow prerelease module versions (`true`/`false`). | No | `false` |
2627
| `WorkingDirectory` | Working directory for the script. | No | `.` |
2728

2829
### Secrets
2930

30-
No secrets are required if the action runs in the same repository. The action uses the default `GITHUB_TOKEN` provided by GitHub Actions to access workflow artifacts.
31+
For runs in the same repository, the action needs no additional secrets.
32+
The action uses the default `GITHUB_TOKEN` from GitHub Actions to access workflow artifacts.
3133

3234
### Outputs
3335

34-
This action does not define explicit outputs. Instead:
36+
The action defines no explicit outputs.
3537

36-
- If any tests fail or errors occur, the action exits with a non-zero code, marking the workflow step as failed.
37-
- Detailed results are logged in the workflow run's output.
38+
- If tests fail or errors occur, the action exits with a nonzero code. GitHub Actions marks the workflow step as failed.
39+
- The action writes detailed results to the workflow run log.
3840

3941
### Example
4042

@@ -48,9 +50,9 @@ This action does not define explicit outputs. Instead:
4850
```
4951
5052
### Notes
51-
- **Test Suite Inputs**: Must be valid JSON arrays.
53+
- **Test suite inputs**: The test suite inputs must be valid JSON arrays.
5254
- `SourceCodeTestSuites` and `PSModuleTestSuites` require `OSName`.
5355
- `ModuleTestSuites` requires both `TestName` and `OSName`.
54-
- **BeforeAll module-local failures**: When `BeforeAllModuleLocalResult` is `failure`, the action exits immediately and reports the setup failure as the root cause.
55-
- **Artifact Names**: The action expects artifacts named `*-TestResults` containing Pester JSON reports.
56-
- **Failure Conditions**: The action fails if tests are unexecuted, explicitly failed, or if result files are missing.
56+
- **BeforeAll module-local failures**: If `BeforeAllModuleLocalResult` is `failure`, the action exits immediately and reports the setup failure as the root cause.
57+
- **Artifact names**: The action expects artifacts named `*-TestResults` with Pester JSON reports.
58+
- **Failure conditions**: The action fails if tests do not run, tests fail, or result files are missing.

‎.github/actions/Install-PSModule/README.md‎

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
# Install-PSModule
22

3-
A GitHub Action to install and configure the PSModule helper modules for use in continuous integration and delivery (CI/CD) workflows. This action is
4-
a critical component for setting up a standardized PowerShell environment across repositories using the PSModule framework.
3+
This GitHub Action prepares the PowerShell environment for continuous integration and delivery (CI/CD) workflows.
54

6-
This GitHub Action is a part of the [PSModule framework](https://github.com/PSModule). It is recommended to use the
7-
[Process-PSModule workflow](https://github.com/PSModule/Process-PSModule) to automate the whole process of managing the PowerShell module.
5+
The [PSModule framework](https://github.com/PSModule) includes this action.
6+
For the recommended setup, use the [Process-PSModule workflow](https://github.com/PSModule/Process-PSModule) to automate PowerShell module management.
87

98
## What this action does
109

1110
- Removes any existing instances of the `Helpers` module from the PowerShell session.
1211
- Copies the latest version of the `Helpers` module into the PowerShell module directory.
1312
- Imports the `Helpers` module, ensuring it is available for subsequent steps.
1413

15-
This action helps maintain consistency and reliability across workflows that depend on the PSModule framework.
16-
1714
## Usage
1815

1916
```yaml
@@ -31,11 +28,11 @@ _No secrets required._
3128
3229
## Outputs
3330
34-
This action does not provide any outputs.
31+
The action defines no outputs.
3532
3633
## Example
3734
38-
Here's a complete workflow example demonstrating how to use the Install-PSModule action:
35+
This example shows the action in a workflow:
3936
4037
```yaml
4138
name: CI

0 commit comments

Comments
 (0)