Kong/kubernetes-ingress-controller

Improve changelog processing to prevent conflicts

Closed this issue · 2 comments

Is there an existing issue for this?

  • I have searched the existing issues

Does this enhancement require public documentation?

  • I have added an Acceptance Criteria item for adding and/or adjusting public documentation (if applicable)

Problem Statement

Currently we edit changelog by directly editing the CHANGELOG.md file. This method has several inconveniences:

  • Very easy to fall into conflicts. When 2 PRs are both editing the changelog, It is likely to conflict on the CHANGELOG.md file. It rarely succeed to create a backport PR automatically when the PR has changelog updates because of conflicts.
  • Need to manually add items and diff links in each release. The two parts are on the top and bottom of the whole changelog separately. It is possible to forget one of them.

Proposed Solution

  • Develop a tool to extract changelog from PR description or title
  • Let the tool to generate the changelogs for each release

Additional information

No response

Acceptance Criteria

  • PR template includes the "Changelog" section to set the wanted changelog item related to this PR
  • A tool automatically fetches the changelogs from the PR and generates the summarized changelog for each release
  • Include guide in CONTRIBUTING.md to help contributors to set changlog in PRs

FWIW here's the tool that mesh uses: https://github.com/kumahq/ci-tools/blob/main/cmd/release-tool/changelog.go

It's published and I think it's can easily be extended to support KIC's use cases

As internal discussion, we would keep using the current way of managing changelogs. Close this.