Skip to content

Commit 829072b

Browse files
docs: Add important file change detection documentation
1 parent 89e3043 commit 829072b

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

README.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

366405
The workflow is configured using a settings file in the module repository.

0 commit comments

Comments
 (0)