@@ -68,6 +68,10 @@ Depending on the labels in the pull requests, the [workflow will result in diffe
6868 - [ Secrets] ( #secrets )
6969 - [ Permissions] ( #permissions )
7070 - [ Scenario Matrix] ( #scenario-matrix )
71+ - [ Important file change detection] ( #important-file-change-detection )
72+ - [ Files that trigger releases] ( #files-that-trigger-releases )
73+ - [ Files that do NOT trigger releases] ( #files-that-do-not-trigger-releases )
74+ - [ Behavior when no important files are changed] ( #behavior-when-no-important-files-are-changed )
7175 - [ Configuration] ( #configuration )
7276 - [ Example 1 - Defaults with Code Coverage target] ( #example-1---defaults-with-code-coverage-target )
7377 - [ Example 2 - Rapid testing] ( #example-2---rapid-testing )
@@ -361,6 +365,41 @@ This table shows when each job runs based on the trigger scenario:
361365- \*\*\* Cleans up prerelease versions and tags created for the abandoned PR (when `Publish.Module.AutoCleanup` is
362366 enabled)
363367
368+ # ## Important file change detection
369+
370+ The workflow automatically detects whether a pull request contains changes to "important" files that warrant a new
371+ release. This prevents unnecessary releases when only non-functional files (such as workflow configurations, linter
372+ settings, or test files) are modified.
373+
374+ # ### Files that trigger releases
375+
376+ | Path | Description |
377+ | :--- | :---------- |
378+ | `src/**` | Module source code |
379+ | `README.md` | Module documentation |
380+
381+ # ### Files that do NOT trigger releases
382+
383+ Changes to the following files will not trigger a release :
384+
385+ - ` .github/workflows/*` - Workflow configurations
386+ - ` .github/linters/*` - Linter configuration files
387+ - ` tests/**` - Test files
388+ - ` examples/**` - Example scripts
389+ - ` .gitignore` , `.editorconfig`, etc. - Repository configuration files
390+
391+ # ### Behavior when no important files are changed
392+
393+ When a pull request does not contain changes to important files :
394+
395+ 1. A comment is automatically added to the PR explaining why build/test stages are skipped
396+ 2. The `ReleaseType` output is set to `None`
397+ 3. Build, test, and publish stages are skipped
398+ 4. The PR can still be merged for non-release changes (documentation updates, CI improvements, etc.)
399+
400+ This behavior ensures that maintenance PRs (such as updating GitHub Actions versions or fixing typos in comments)
401+ don't create unnecessary releases in the PowerShell Gallery.
402+
364403# # Configuration
365404
366405The workflow is configured using a settings file in the module repository.
0 commit comments