Automatically insert changelog into Release
Problem to solve
When creating a release in the .gitlab-ci.yml
(https://gitlab.com/gitlab-org/gitlab-ce/issues/56022), we have a description:
element which can contain (at our suggestion) a changelog. This is inserted as follows:
...
runRelease:
release:
name: My $CI_PROJECT_NAME Release 1.0-$CI_COMMIT_SHORT_SHA
tag_name: $CI_COMMIT_TAG
ref: $CI_COMMIT_REF_NAME
description: ./changelog.txt
...
If we are able to generate a changelog based on what we know is in the release, we could make this automatic. We would want to use the existing Release Notes area in the Release Tag.
Target audience
Release Managers who are manually generating changelogs and inserting them into the description:
field.
Proposal
- Git tag annotations become release descriptions.
- Merge Requests containing specific labels automatically produce a list of changes. This is inspired by lerna-changelog.
- Nice-to-have: credit contributors in the changelog.
- Changelog is output in release blocks (screenshot below is an example design)
What does success look like, and how can we measure that?
Changelog generation is as automatic for users as possible.
Couple possible ways to measure success:
- Eliminate time spent creating changelogs
- Decrease in number of active third-party solutions as native support is implemented
Possible workaround
Described in #26015 (comment 1437460003)
Links / references
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.