Skip to content

x/exp/cmd/gorelease: set allowed changes with -compatibility flag #39191

Open
@jayconrod

Description

@jayconrod

Currently, gorelease determines whether compatible and incompatible API changes are allowed based on the module base version and release version. It follows semver guidelines, for example, allowing incompatible changes at base major version v0.

Users may want to apply different (usually stricter) compatibility guidelines. For example, a module may want to forbid incompatible API changes between minor versions at v0, even though semver allows them.

gorelease should accept a -compatibility flag that allows users to set the compatibility level explicitly. For example:

gorelease -base=v0.10.0 -release=v0.10.1 -compatibility=patch
gorelease -base=v0.10.0 -release=v0.11.0 -compatibility=minor
gorelease -base=v0.10.0 -release=v0.15.0 -compatibility=major

cc @liggitt

Metadata

Metadata

Assignees

No one assigned

    Labels

    FeatureRequestIssues asking for a new feature that does not need a proposal.NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.ToolsThis label describes issues relating to any tools in the x/tools repository.modules

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions