argoproj / argo-helm

ArgoProj Helm Charts
https://argoproj.github.io/argo-helm/
Apache License 2.0
1.78k stars 1.88k forks source link

[Repo] Can the releases provide a changelog? #1721

Closed syphernl closed 1 year ago

syphernl commented 1 year ago

Is your feature request related to a problem?

We use Renovate to update dependencies. Every time the argo-cd helm chart gets an update (which is pretty frequently) all the changelog shows is:

image

This information is obtained from the releases, such as this one for argo-cd-5.16.9.

This requires us to manually check all changes between the releases, which is time-consuming and one of the reasons we use Renovate to consolidate this information into one place.

Related helm chart

argo-cd, argo-events, argo-rollouts, argo-workflows, argocd-image-updater, argocd-apps

Describe the solution you'd like

Perhaps something like semantic-release can be used to parse the commits and let it generate a changelog to associate with the release.

Describe alternatives you've considered

No response

Additional context

No response

yu-croco commented 1 year ago

Hi @syphernl, Thank you for reporting!

IMO, I think we can introduce GitHub's official feature in order to reduce tool dependencies. 🤔 *But I'm not familiar with this feature nor semantic-release..

WDYT? @mkilchhofer @jmeridth

pdrastil commented 1 year ago

I've already looked into this @yu-croco and I'm not sure this would help as the release notes are part of Chart.yaml in specific format for ArtifactHub. For this reason I've already added link in a README to changelog

yu-croco commented 1 year ago

Thank you for checking @pdrastil, that was helpful!

Hi @syphernl, please let me know if @pdrastil's comment helped. 🙋

syphernl commented 1 year ago

IMO, I think we can introduce GitHub's official feature in order to reduce tool dependencies. thinking *But I'm not familiar with this feature nor semantic-release..

Ah, that seems to be easier/more practical to implement when there is native support for that. As we're using GitLab ourselves we need to resort to using tools like semantic-release to generate the changelogs.

It appears somebody figured out how to add release notes to helm/chart-releaser-action, which is also being used in this repo.

I've already looked into this @yu-croco and I'm not sure this would help as the release notes are part of Chart.yaml in specific format for ArtifactHub. For this reason I've already added link in a README to changelog

Unfortunately Renovate doesn't seem to support ArtifactHub changelogs. There is an open feature request for that so perhaps it could be possible somewhere in the future.

If it is not feasible / desirable to implement release notes on the argo-helm GitHub releases as well, would it be possible to include a link to the changelog instead?

Something like:

A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.

[View changelog of argo-cd 5.16.9](https://artifacthub.io/packages/helm/argo/argo-cd?modal=changelog&version=5.16.9)

While not as practical as having a list of changes visible directly, this should make it a little easier.

chgl commented 1 year ago

I've implemented something like this for my own chart repository: https://github.com/chgl/charts. The initial PR is https://github.com/chgl/charts/pull/149/files. This takes the artifacthub annotations and turns them into a markdown changelog using gotemplate + yq. I've since moved the scripts and templates to https://github.com/chgl/kube-powertools/blob/master/scripts/generate-chart-changelog.sh and https://github.com/chgl/kube-powertools/blob/master/opt/CHART-CHANGELOG.md.gotmpl respecitvely. Here's an exmaple

It uses chart-releaser's release-notes-file option to set the GitHub release notes and works with renovate's changelog detection.

Here's a sample release: https://github.com/chgl/charts/releases/tag/ohdsi-0.20.1 with the corresponding chart annotations here: https://github.com/chgl/charts/blob/ohdsi-0.20.1/charts/ohdsi/Chart.yaml#L40

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

jmeridth commented 1 year ago

Not stale. This is still relevant.

nlamirault commented 1 year ago

@chgl feature works fine! I use it on my charts repository. The use of Artifact Hub annotations is also a very good idea

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

syphernl commented 1 year ago

Still relevant.

lusu007 commented 1 year ago

It would be very helpful if this gets implemented because the changelogs provided by tools like Renovate are empty.