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
|`PSModule/Invoke-Pester`| Installs/runs Pester and emits per-suite JSON results and coverage artifacts | Pin/verify Pester 6.1.0, map all inputs to v6 configuration, preserve suite names |
136
+
|`Test-PSModule` action | Selects `tests/Module` or `tests/SourceCode`, resolves `outputs/module` or `src`, and passes paths to `Invoke-Pester`| Confirm path selection, exclusions, module state, and test extension |
137
+
| Module-local workflow | Downloads the built module, exposes `TestData`, imports the module, then runs module tests | Tests consume the prepared module; no hidden fallback import |
138
+
| Source-code workflow | Runs source tests against the checked-out `src` path | Record how source functions/classes are loaded and which fixtures are explicit |
139
+
|`BeforeAll-ModuleLocal`| Runs exact root `tests/BeforeAll.ps1` once before module-local jobs | Put shared services/data here only when every matrix job needs them |
140
+
|`AfterAll-ModuleLocal`| Runs exact root `tests/AfterAll.ps1` with `always()`| Make cleanup safe after setup/test failure |
141
+
|`Expose-TestData`| Converts caller `TestData` JSON into environment variables | Inventory every required variable; do not confuse it with repository fixtures |
142
+
|`Get-PesterTestResults`| Downloads `*-TestResults`, expects every configured suite, and fails missing/unexecuted/failed/inconclusive results | Preserve `TestSuiteName`, matrix names, and result counts |
143
+
|`Get-PesterCodeCoverage`| Aggregates `*-CodeCoverage` JSON and writes missed-path reports and summaries | Verify JaCoCo/Cobertura format, target, paths, and v6 tracer behavior |
144
+
|`Invoke-ScriptAnalyzer` integration | Publishes `PSModuleLint-*` results alongside test results | Treat lint suites as required result artifacts, not Pester test files |
145
+
| Repository linter | Checks repository/workflow/Markdown files independently of Pester | Include skill and documentation paths in the repository lint inventory |
146
+
147
+
The current Process-PSModule flow specifically downloads the built module and
148
+
imports it before module-local tests, while `Test-PSModule` resolves source or
149
+
module paths for framework suites. The framework's own importability and
150
+
manifest tests may import/remove the module because import is their subject;
151
+
ordinary consumer tests must not copy that pattern as setup.
152
+
153
+
Record the `PSModule/Invoke-Pester` action revision separately from the Pester
154
+
module version. The current Process-PSModule workflows reference that action at
155
+
`v5.1.0`; its revision and its Pester installation policy must both be checked
156
+
when adopting Pester 6.1.0. Updating one does not prove that the other changed.
157
+
158
+
Use this per-repository checklist:
159
+
160
+
-[ ] All `*.Tests.ps1`, `*.Configuration.ps1`, and `*.Container.ps1` files,
161
+
including action and hidden paths, are listed.
162
+
-[ ] Each test set is mapped to `Module`, `SourceCode`, action, or external
163
+
invocation and its `Run.Path`/`Run.ExcludePath` is recorded.
164
+
-[ ] The built target module is loaded by the framework before module-local
165
+
tests; tests do not silently load it themselves.
166
+
-[ ] Source-code test loading is explicit and documented separately from the
0 commit comments