coopnorge / github-workflow-release-drafter

0 stars 0 forks source link

Do not auto label major version bumps for golang and fail CI #48

Open nhhagen opened 6 months ago

nhhagen commented 6 months ago

Releasing a major version of a go library must require manual intervention beyond approving a PR. Major versions contain breaking changes to the public API of modules and needs to be carefully managed and avoided if possible.

The current behaviour does not align with Go's module versioning scheme. We have had a few instances of changes unintentionally bumping the major version of a library.

https://github.com/coopnorge/go-services-interfaces/pull/131 is an example of this, the PR was labeled with release-drafter-go:major and caused a v1.0.0 release to be generated, that release was later published. For context the ignore-major-changes-for-pattern was misconfigured and did not ignore the breaking change, however these accidents should not happen, it would have been better to have CI fail.

This is a rough outline to the expected behaviour:

Ref: