Skip to content

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

  • MajorLabels defaults to release:major.
  • MinorLabels defaults to release:minor.
  • PatchLabels defaults to release:patch.
  • PrereleaseLabels defaults to release:pre-release.
  • IgnoreLabels defaults to release:skip.
  • AutoPatching remains 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingrelease:majorPublish a major release.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions