cluster-operator icon indicating copy to clipboard operation
cluster-operator copied to clipboard

Use GitHub's autogenerated release notes feature in the operators

Open ChunyiLyu opened this issue 3 years ago • 4 comments

Is your feature request related to a problem? Please describe.

Github generates well formated release notes. See messaging topology 1.6.0 release.

We currently generates release notes Cluster Operator ourselves. It's because the CI job auto detects if the new release would rolling upgrade the statefulSet. Ideally we could automatically append only the rolling upgrade section while using github for the rest of the release notes.

Describe the solution you'd like The latest commit of the GitHub release resource for Concourse allows you to set a parameter generate_release_notes to true. This will generate release notes for a given release based off existing commits, ignoring dependency bumps.

For the cluster-operator release, we have additional functionality to have a warning header if a release causes a rolling restart. We can preserve this behaviour by setting the body of the release to this warning, and generate_release_notes to true. This will prepend the warning body to the generated release notes.

Example release job after this change:

  - put: *repo-release
    inputs:
    - rolling-restart-release-notes-gcs
    - release-version
    - release-manifest
    params:
      body: rolling-restart-release-notes-gcs/release-notes-prefix.md
      generate_release_notes: true
      name: release-version/release-version
      tag: release-version/release-version
      tag_prefix: v
      globs:
      - release-manifest/cluster-operator.yml
      - release-manifest/cluster-operator-quay-io.yml

Additional context Release notes generation CI job Write release notes for all operators

ChunyiLyu avatar Jun 13 '22 08:06 ChunyiLyu

This issue has been marked as stale due to 60 days of inactivity. Stale issues will be closed after a further 30 days of inactivity; please remove the stale label in order to prevent this occurring.

github-actions[bot] avatar Aug 13 '22 00:08 github-actions[bot]

The GitHub API does support the autogeneration of release notes, but the Concourse resource we use to create release notes does not support setting the appropriate field when creating a release.

I created an upstream PR to add this support to the Concourse resource: https://github.com/concourse/github-release-resource/pull/119

Once this is added and released, we can automatically create the release notes whenever we create our release in our CI.

coro avatar Aug 24 '22 13:08 coro

I've made a PR to the Concourse resource that we use to create all of our releases. This was accepted; once the Concourse team cut a new release we will be able to generate release notes automatically when we create a new release. If we need additional info for a release (e.g. a header saying the release will cause rolling upgrades), this just needs to be added to the body of the release and it will be prepended to the release notes.

I have chased the Concourse team today asking for the release to be cut.

coro avatar Aug 30 '22 10:08 coro

The Concourse release is coming in October or so, at which point we can play this story.

coro avatar Sep 02 '22 08:09 coro

This issue has been marked as stale due to 60 days of inactivity. Stale issues will be closed after a further 30 days of inactivity; please remove the stale label in order to prevent this occurring.

github-actions[bot] avatar Nov 21 '22 00:11 github-actions[bot]