Closed jimmykarily closed 1 year ago
The chart-releaser can only read notes from a file. We use release-drafter in the other repos, but that can’t output to a file. Release-drafter can filter PRs by path, which we need to generate different notes for each chart.
Maybe we can run release-drafter when a new release appears, limited to the Epinio chart path, after chart-releaser has finished. Then we run our new action to collect the Epinio release notes from epinio/epinio.
As we discussed today in the grooming session we see two ways to move this issue forward
I did a couple of tests and maybe we can use the release drafter to simplify and at least track a bit better what's going on in the helm charts.
The first problem is that we have multiple charts. Fortunately we can leverage the autolaber
feature to label automatically the PRs to match them with the correct chart:
autolabeler:
- label: 'chart/test-main'
files:
- 'charts/test-main/'
- label: 'chart/test-dependency'
files:
- 'charts/test-dependency/'
Once that they are correctly labeled we can create categories to wrap or exclude them, using the tag-prefix
and filters to run the release draft in the way that we prefer.
For example here I've categorized the Draft Release of the main
component to have also the dependency
PRs in it:
categories:
- title: 'test-main Chart'
labels:
- 'chart/test-main'
- title: 'test-dependency Chart'
labels:
- 'chart/test-dependency'
- title: '🐛 Bug Fixes'
labels:
- 'bug'
Once that this release is ready we can use it in our epinio
main repo, copy-pasting the relevant information.
Our helm-charts repo provides very little information to users on what the release versions are, changelogs etc.
The epinio/epinio looks more like our "central" repo. Our versioned docs should follow the helm-chart versions but we should also make sure the `helm-charts' repo looks like a certral repo too.
We can create some automation to create better changelogs for helm-charts releases (collecting changelogs from the various components)
Example:
When a new release is created for the epinio helm-chart, a workflow is run which finds out which components have been bumped to which versions. For the "external" ones (minio, kubed etc), it will simply add a line in the changelog with links to old version and new version of the component (links to github releases?). For our components (epinio-server, epinio-ui) it will also copy over the changelog of each component and each version between the old and the new.
The changes on the helm-chart repo should also be included in the changelog (e.g. changes in values.yaml), like we do in
epinio/epinio
(collecting PRs and such).