🩹 [Patch]: Update workflow action versions and rename release action#275
🩹 [Patch]: Update workflow action versions and rename release action#275MariusStorhaug merged 19 commits intomainfrom
Conversation
…ettings and remove Debug job
…s-PSModule into test/important-file-changes
There was a problem hiding this comment.
Pull request overview
This pull request updates workflow action dependencies to their latest versions and completes the migration from the deprecated PSModule/Auto-Release action to PSModule/Release-GHRepository. It also adds important file change detection functionality to prevent unnecessary releases when only maintenance files are modified.
Changes:
- Updated 13 workflow action dependencies to their latest versions for improved stability
- Migrated from deprecated
PSModule/Auto-Release@v1.9.5toPSModule/Release-GHRepository@v2.0.2 - Added
pull-requests: writepermission to Get-Settings workflow for automated PR label management - Documented important file change detection feature in README
- Removed unused configuration files (
.github/release.ymland.github/linters/.jscpd.json) - Updated PR prompt template with new "Maintenance" change type
- Fixed typo in README ("wether" → "whether")
Reviewed changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/Test-SourceCode.yml |
Updated actions/checkout to v6.0.2 and Test-PSModule to v3.0.8 |
.github/workflows/Test-ModuleLocal.yml |
Updated actions/checkout to v6.0.2, Install-PSModuleHelpers to v1.0.7, and Invoke-Pester to v4.2.3 |
.github/workflows/Test-Module.yml |
Updated actions/checkout to v6.0.2, Test-PSModule to v3.0.8, and Invoke-ScriptAnalyzer to v4.1.2 |
.github/workflows/Publish-Module.yml |
Updated actions/checkout to v6.0.2 and Publish-PSModule to v2.2.2 |
.github/workflows/Linter.yml |
Updated actions/checkout to v6.0.2 |
.github/workflows/Lint-SourceCode.yml |
Updated actions/checkout to v6.0.2 and Invoke-ScriptAnalyzer to v4.1.2 |
.github/workflows/Lint-Repository.yml |
Updated actions/checkout to v6.0.2 |
.github/workflows/Get-TestResults.yml |
Updated Get-PesterTestResults to v1.0.8 |
.github/workflows/Get-Settings.yml |
Updated actions/checkout to v6.0.2, Get-PSModuleSettings to v1.4.3, and added pull-requests write permission |
.github/workflows/Get-CodeCoverage.yml |
Updated Get-PesterCodeCoverage to v1.0.4 |
.github/workflows/Build-Site.yml |
Updated actions/checkout to v6.0.2, Install-PSModuleHelpers to v1.0.7, and GitHub-Script to v1.7.10 |
.github/workflows/Build-Module.yml |
Updated actions/checkout to v6.0.2 and Build-PSModule to v4.0.12 |
.github/workflows/Build-Docs.yml |
Updated actions/checkout to v6.0.2, Document-PSModule to v1.0.16, and GitHub-Script to v1.7.10 |
.github/workflows/BeforeAll-ModuleLocal.yml |
Updated actions/checkout to v6.0.2 and GitHub-Script to v1.7.10 |
.github/workflows/Auto-Release.yml |
Updated actions/checkout to v6.0.2 and migrated from Auto-Release to Release-GHRepository v2.0.2 |
.github/workflows/AfterAll-ModuleLocal.yml |
Updated actions/checkout to v6.0.2 and GitHub-Script to v1.7.10 |
README.md |
Added documentation for important file change detection feature, fixed typo |
.github/prompts/PSModule.pr.prompt.md |
Added Maintenance change type, updated change type table, removed Fix type from main list |
.github/release.yml |
Removed unused GitHub auto-generated release notes configuration |
.github/linters/.jscpd.json |
Removed unused JSCPD linter configuration |
| | Fix | 🪲 | `Fix`, `Patch` | Bugfixes | | ||
| | Docs | 📖 | `Docs` | Documentation changes only | | ||
| | Type | Icon | Labels | Description | | ||
| | ----------- | ---- | -------------- | -------------------------------------------| |
There was a problem hiding this comment.
The table header separator should have a space after the pipe character to comply with Markdown formatting guidelines. The separator row should be formatted as | ----------- | ---- | -------------- | ------------------------------------------ | with consistent spacing.
This release updates all workflow action dependencies to their latest versions and completes the migration from
Auto-ReleasetoRelease-GHRepository.Summary
PSModule/Auto-ReleasetoPSModule/Release-GHRepositoryWhat'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.
actions/checkoutPSModule/GitHub-ScriptPSModule/Build-PSModulePSModule/Document-PSModulePSModule/Get-PSModuleSettingsPSModule/Get-PesterCodeCoveragePSModule/Get-PesterTestResultsPSModule/Install-PSModuleHelpersPSModule/Invoke-ScriptAnalyzerPSModule/Invoke-PesterPSModule/Publish-PSModulePSModule/Test-PSModuleRelease Action Migration
The deprecated
PSModule/Auto-Releaseaction has been replaced withPSModule/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-PSModuleSettingsaction 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:
src/**README.mdFiles 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:
ReleaseTypeis set toNoneLabel-Based Release Control
Module developers can also explicitly control releases via labels:
MajorMinorPatchNoReleaseNoReleaseWorkflow Permissions Update
The
Get-Settingsworkflow now requestspull-requests: writepermission. This enables: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
Related