🌟 [Major]: Module releases use owned label defaults - #524
Draft
Marius Storhaug (MariusStorhaug) wants to merge 7 commits into
Draft
🌟 [Major]: Module releases use owned label defaults#524Marius Storhaug (MariusStorhaug) wants to merge 7 commits into
Marius Storhaug (MariusStorhaug) wants to merge 7 commits into
Conversation
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
Copilot started reviewing on behalf of
Marius Storhaug (MariusStorhaug)
August 28, 2026 22:39
View session
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates Process-PSModule’s default release-intent label contract to use an owned release: namespace (and documents that contract), so downstream release/version decisions default to repository-owned labels instead of potentially colliding dependency metadata.
Changes:
- Switch default publish/version label mappings to
release:major|minor|patch|pre-release|skip(while preserving consumer overrides via.github/PSModule.yml). - Centralize publish-default resolution in
Resolve-PSModulePublishSetting, and publish the same defaults in the settings JSON schema. - Update docs and Pester coverage to reflect and validate the new canonical defaults and override behavior.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| docs/content/specification/spec.md | Updates the FR5 contract and Gherkin scenarios to use release:* default labels. |
| docs/content/specification/principles-and-practices.md | Updates guidance for prerelease flows using the configured prerelease label (default release:pre-release). |
| docs/content/specification/design.md | Aligns design text with the new canonical default label set and override location. |
| docs/content/reference/settings.md | Updates documented settings defaults to the release:* namespace and adds prerelease defaults. |
| docs/content/reference/scenario-matrix.md | Updates prerelease requirements text to reference the configured prerelease label and resolved bump. |
| docs/content/reference/repository-standard.md | Updates repository expectations to the new default label namespace and override guidance. |
| docs/content/reference/powershell-module-standard.md | Updates label tables/examples and prerelease behavior documentation to release:* defaults. |
| docs/content/guides/versioning-and-releases.md | Updates the versioning guide to the new label namespace and clarifies conflict-handling behavior. |
| docs/content/get-started/your-first-release.md | Updates “first release” walkthrough tables/text to the new default labels and conflict semantics. |
| .github/workflows/workflow.yml | Adjusts workflow commentary to describe prerelease conditions in terms of intent + resolved bump. |
| .github/actions/Resolve-PSModuleVersion/tests/Resolve-PSModuleVersion.Helpers.Tests.ps1 | Updates version-resolution tests to use release:* defaults and adds coverage for canonical/overridden mappings. |
| .github/actions/Get-PSModuleSettings/tests/Get-PSModuleSettings.Helpers.Tests.ps1 | Adds tests asserting canonical defaults, consumer override preservation, and schema defaults parity. |
| .github/actions/Get-PSModuleSettings/src/Settings.schema.json | Publishes schema defaults for AutoPatching and the label mapping settings. |
| .github/actions/Get-PSModuleSettings/src/main.ps1 | Uses the new publish-settings resolver when constructing normalized settings output. |
| .github/actions/Get-PSModuleSettings/src/Get-PSModuleSettings.Helpers.psm1 | Introduces Resolve-PSModulePublishSetting to own and centralize canonical defaults. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Process-PSModule defaults module release decisions to the owned
release:namespace, preventing dependency metadata from being interpreted as this repository's release intent.Breaking Changes
The default mappings change to
release:major,release:minor,release:patch,release:pre-release, andrelease:skip. Repositories adopting the next major must provision and apply those labels before removing their legacy labels.AutoPatchingremains enabled by default.MajorLabels,MinorLabels,PatchLabels,PrereleaseLabels, andIgnoreLabelsremain supported and consumer-configurable, so repositories with an intentional custom contract can override every new default.Changed: Default labels have one namespace
Resolve-PSModuleVersion continues to consume the mappings from settings and remains the independent module-version authority. Plan behavior, direct-push Patch behavior, workflow inputs, cleanup, and publication routing are unchanged.
Technical details
Resolve-PSModulePublishSettingowns the emitted defaults so production output and Pester assertions use one source.AutoPatching: true.ReleaseDecisioninput, strict missing-label enforcement, or removed settings.2026-08-28T22:42:09Z, submitted no inline comments, and left zero unresolved threads.v8reference remains unchanged, and caller documentation continues to reference it until the next major exists..github/actions/Get-PSModuleSettings/**.github/actions/Resolve-PSModuleVersion/tests/**.github/workflows/workflow.ymldocs/content/**Relevant issues (or links)
Related work