Uh oh!
There was an error while loading. Please reload this page.
🩹 [Patch]: Actions are internalized and automatically follow the workflow version - #385
Conversation
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
- Update action.yml files to improve readability and maintainability by adding comments and adjusting paths. - Simplify Get-GitHubPullRequest function by removing IsOpen property and related logic. - Enhance Resolve-ReleaseDecision function to streamline prerelease handling and version bump logic. - Modify test data and cases to reflect changes in logic and improve clarity. - Remove outdated DEPENDENCIES.md file to declutter the repository. - Add jscpd configuration for code duplication checks. - Update PSScriptAnalyzer configuration to exclude specific rules.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
When you reference Process-PSModule at a release tag, run it from a branch during development, or test it from a fork, the actions it calls now automatically match that same version. There's no more keeping a workflow and its actions in sync by hand — pin the workflow, and the actions follow.
New: Actions automatically follow the workflow version in use
Every stage workflow now checks out its own source at the exact commit it is running from, then calls its actions from that local copy instead of a separately pinned action reference. In practice this means:
This is possible using
job.workflow_repositoryandjob.workflow_sha, a set of GitHub Actions context properties that let a reusable workflow discover its own source repository and commit. This capability did not exist before — it was introduced by GitHub in April 2026 (shipped in Actions Runner v2.334.0, see actions/runner#4335) and is documented in thejobcontext reference. No official GitHub changelog announcement could be found for this change — the runner release and context documentation are the primary references.GitHub-Script,Invoke-Pester, andInvoke-ScriptAnalyzercontinue to be consumed from their own repositories at pinned commits, as before.No changes are required to consumer workflows. Inputs, outputs, and secrets are unchanged.
Changed: Internalized actions have moved out of their standalone repositories
Build-PSModule,Document-PSModule,Get-PSModuleSettings,Get-PesterCodeCoverage,Get-PesterTestResults,Initialize-PSModule,Install-PSModuleHelpers,Publish-PSModule,Resolve-PSModuleVersion, andTest-PSModulenow ship directly inside Process-PSModule instead of living in their own PSModule repositories.Those standalone repositories are now archived and will be deleted soon. If you reference any of them directly, switch to Process-PSModule instead. The old actions will also be the ones older versions of Process-PSModule will use, so be sure to update to be able to use the framework.
Technical Details
.github/actions/:Build-PSModule,Document-PSModule,Get-PSModuleSettings,Get-PesterCodeCoverage,Get-PesterTestResults,Initialize-PSModule,Install-PSModuleHelpers,Publish-PSModule,Resolve-PSModuleVersion,Test-PSModule.repository: ${{ job.workflow_repository }},ref: ${{ job.workflow_sha }},path: _wf.PSModule/<Name>@<sha>to./_wf/.github/actions/<Name>.Install-PSModuleHelpersresolve from the same bundled revision..github/actionlint.yamlis updated to recognize the self-checkout pattern and thejob.workflow_*properties.Validation
feat/internalize-process-actionsto the invoked workflow commit.