🩹 [Patch]: Update workflow action versions and rename release action (#275)
This release updates all workflow action dependencies to their latest versions and completes the migration from Auto-Release to Release-GHRepository.
Summary
- Updated workflow action dependencies to latest versions for improved stability and features
- Migrated release action from deprecated
PSModule/Auto-ReleasetoPSModule/Release-GHRepository - Added workflow permission for PR label management
- Cleaned up deprecated configuration files
- Important file change detection now determines whether a release should be created
What's Changed for Module Developers
Updated Workflow Dependencies
All reusable workflow files have been updated to use the latest action versions. This ensures your module CI/CD pipeline benefits from recent bug fixes and improvements across the PSModule action ecosystem.
| Action | Previous | New |
|---|---|---|
actions/checkout |
v6.0.1 | v6.0.2 |
PSModule/GitHub-Script |
v1.7.8 | v1.7.10 |
PSModule/Build-PSModule |
v4.0.9 | v4.0.12 |
PSModule/Document-PSModule |
v1.0.14 | v1.0.16 |
PSModule/Get-PSModuleSettings |
v1.4.0 | v1.4.3 |
PSModule/Get-PesterCodeCoverage |
v1.0.3 | v1.0.4 |
PSModule/Get-PesterTestResults |
v1.0.7 | v1.0.8 |
PSModule/Install-PSModuleHelpers |
v1.0.6 | v1.0.7 |
PSModule/Invoke-ScriptAnalyzer |
v4.1.1 | v4.1.2 |
PSModule/Invoke-Pester |
v4.2.2 | v4.2.3 |
PSModule/Publish-PSModule |
v2.2.0 | v2.2.2 |
PSModule/Test-PSModule |
v3.0.7 | v3.0.8 |
Release Action Migration
The deprecated PSModule/Auto-Release action has been replaced with PSModule/Release-GHRepository@v2.0.2. This is a direct replacement that provides the same release functionality with improved maintainability.
No action required by module developers - the reusable workflow handles this internally.
Important File Change Detection
The Get-PSModuleSettings action now automatically detects whether a PR contains changes to "important" files that warrant a new release. This addresses the long-standing request (#85) to only publish when meaningful changes occur.
Files that trigger releases:
| Path | Description |
|---|---|
src/** |
Module source code |
README.md |
Module documentation |
Files that do NOT trigger releases:
.github/workflows/*(workflow configurations).github/linters/*(linter configs)tests/**(test files)examples/**(example scripts).gitignore,.editorconfig, etc.
When no important files are changed:
- A comment is automatically added to the PR explaining why
ReleaseTypeis set toNone- Build, test, and publish stages are skipped
- The PR can still be merged for non-release changes
Label-Based Release Control
Module developers can also explicitly control releases via labels:
| Change Type | Label | Release Behavior |
|---|---|---|
| Breaking changes | Major |
Creates major version release |
| New features | Minor |
Creates minor version release |
| Bug fixes | Patch |
Creates patch version release |
| Documentation only | NoRelease |
No release created |
| CI/CD maintenance | NoRelease |
No release created |
Workflow Permissions Update
The Get-Settings workflow now requests pull-requests: write permission. This enables:
- Automatic label management on PRs
- Adding comments when no important files changed
No action required by module developers - repos using this workflow already grant the necessary permissions via the main workflow file.
Configuration Cleanup
Removed unused configuration files from the repository:
.github/linters/.jscpd.json- JSCPD linter config (not used in current linting setup).github/release.yml- GitHub auto-generated release notes config (release notes are now fully managed by the Release-GHRepository action)
Upgrade Impact
| Impact | Description |
|---|---|
| Breaking Changes | None - all changes are backward compatible |
| Required Actions | None - updates are automatically applied when using the reusable workflow |
| Behavior Change | PRs without important file changes will no longer trigger releases |
Related
- Part of ongoing workflow modernization efforts
- Foundation for future smart release detection enhancements (tracked in #184)