Repository navigation
Default module release decisions to namespaced labels #359
Description
Process-PSModule currently defaults its release-bump settings to bare labels that overlap with Dependabot's SemVer metadata. A dependency's upstream version jump can therefore be mistaken for this module's release intent.
Request
Current experience
The default mappings are major/breaking, minor/feature, patch/fix, prerelease, and NoRelease. Dependabot may apply the bare SemVer labels when those repository labels exist.
Desired experience
Process-PSModule defaults to the owned labels release:major, release:minor, release:patch, release:pre-release, and release:skip. Release behavior remains settings-driven so consumers retain control over their mappings and AutoPatching choice.
Acceptance criteria
-
MajorLabelsdefaults torelease:major. -
MinorLabelsdefaults torelease:minor. -
PatchLabelsdefaults torelease:patch. -
PrereleaseLabelsdefaults torelease:pre-release. -
IgnoreLabelsdefaults torelease:skip. -
AutoPatchingremains supported and unchanged. - All five mappings remain supported and consumer-configurable.
- Resolve-PSModuleVersion continues to use resolved settings rather than hard-coded label names.
- Schema, tests, and documentation describe the same defaults.
- Existing Plan, direct-push, manual-dispatch, cleanup, and publication behavior remains unchanged.
Technical decisions
Root fix: Separate the default release vocabulary from Dependabot's bare SemVer labels through the release: namespace. Do not branch behavior on the pull-request author and do not add a label-stripping step.
Compatibility: The settings remain the contract. Repositories with intentional custom mappings can override every default, and AutoPatching continues to default to enabled.
Versioning: Changing default labels is a breaking consumer migration and is prepared for Process-PSModule v9 without moving v8.
Authority: Resolve-PSModuleVersion remains the module-version authority. Release-GHRepository governs Process-PSModule's own repository release only.
Rollout boundary: This issue changes producer defaults. Consumer label provisioning and deletion are separate fleet work after compatible release implementations exist.
Implementation plan
- Centralize and update the five release-label defaults in Get-PSModuleSettings.
- Add matching defaults to the settings schema.
- Test canonical defaults and consumer overrides.
- Update release and settings documentation.
- Keep the draft PR blocked from publication until the v9 release path is ready.
Related work
- References 📖 [Docs]: Release decisions use owned labels MSXOrg/docs#188
- Blocked for publication by 🌟 [Major]: Release decisions use owned labels Release-GHRepository#109
- Followed by the release-label fleet migration campaign
Activity
⚙️ [Maintenance]: Bring workflows into compliance with the GitHub Act…
[-]Stop Dependabot from applying semver release labels to dependency-update PRs[/-][+]Require namespaced module release decisions[/+][-]Require namespaced module release decisions[/-][+]Default module release decisions to namespaced labels[/+]