-
Notifications
You must be signed in to change notification settings - Fork 113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: Changelog #118
Comments
related: helm/chart-releaser-action#44 not sure if this feature request belongs in the action or in |
You can give option to add body in release i.e.
|
@unguiculus are you ok with a feature like This will make it possible for users to store things like changelogs in the GitHub release text. |
@thesuperzapper But then how can it can distinguish for which chart release will set body cause AFAIK it will check charts in |
Atlassian came up with an interesting approach, which they called changesets (https://github.com/atlassian/changesets). I've seen this being used in Backstage. This could solve the above issue as it will also allow recording migration strategies, e.g. structure changes in |
Regardless, we still need to support some way of specifying the body of the release in I think the proposed |
@thesuperzapper I think you skipped @pratikbalar comment.
|
Kindly tell us more about it if you can |
I think we can standardize this beyond E.g.
|
ArtifactHub introduced annotations to encode a changelog for a chart: https://artifacthub.io/docs/topics/annotations/helm/#supported-annotations In theory, these could be parsed, prettified and set similarly to how the current implementation uses the Chart.yaml's description as the release description: https://github.com/helm/chart-releaser/blob/main/pkg/releaser/releaser.go#L322 However, this would couple the chart-releaser implementation to ArtifactHub's annotations which may not be desirable. |
This feature is really important to automate the whole workflow. To set the release notes after the actual release I need to do a lot of kung-fu! (which is error-prone) I need to extract the updated charts and call GH API twice because even GH CLI doesn't support update release at the moment! For that reason, I've created this PR no. #137 to add chart release-notes or changelog (without any coupling to an external source). |
This should be much easier now, since the github release also supports auto generate changelog See blog post https://github.blog/2021-10-04-beta-github-releases-improving-release-experience/#introducing-auto-generated-release-notes |
Indeed, but like the file for the release notes, I guess the annotation to use can be managed by the configuration? |
@aabouzaid @LeoColomb are you willing to submit a PR to contribute to some docs in how to use that? the release will come soon, need to perform some tests will close this issue since it is already merged to the main branch |
I think the current implementation is perfect to also handle generating a changelog file from the annotations. I'm currently playing around with something like this: cat "Chart.yaml" |
yq e '.annotations["artifacthub.io/changes"]' - | # extract the changes annotation, which is a YAML array
yq -o json e '.' - | # convert the YAML array to a JSON array
jq 'group_by(.kind) | to_entries | map({key: .value[0].kind, value: .value})' - | # group the JSON array by their 'kind' - ie. the type of change
gomplate -d chart="Chart.yaml" -d changes=stdin:///in.json -f CHANGELOG.md.gotmpl >"CHANGELOG.md" # use the JSON above as input to render the changelog CHANGELOG.md.gotmpl:
|
does anyone have an example of how to make a chart release with a changelog using this Github Action ? |
We had multiple users ask for a changelog on the GitHub release. We use semantic-release but not sure how to wire this up.
The text was updated successfully, but these errors were encountered: