nextcloud / helm

A community maintained helm chart for deploying Nextcloud on Kubernetes.
GNU Affero General Public License v3.0
295 stars 258 forks source link

Automatic PRs for updating the default image version #498

Open provokateurin opened 6 months ago

provokateurin commented 6 months ago

Description of the change

Right now we always have to manually create PRs to update the default image version to the latest one. We should automate this to automatically create the PRs. We could also enable automerge so that it gets merged if the pipeline is green. I don't think there is a possibility it could break something for us.

Benefits

No manual PR work, faster updates to new versions.

Possible drawbacks

None really.

Additional information

Technically we don't need to do this as the chart is version agnostic. We could instead remove the default version and force everyone to always set the version themselves. That way we also have less "useless" releases where only the default version was changed. This would be a breaking change though so we might not want to do it.

wrenix commented 6 months ago

therefore the renovatevot is really usefull tool for that job: https://docs.renovatebot.com/

Edit: HelmChart version dumps are current removed because of an bug: https://github.com/renovatebot/renovate/issues/8231 (but my opionion still is that this is the correct tool for it)

provokateurin commented 6 months ago

I don't think renovate can do this automatically

jessebot commented 2 months ago

I think Renovate can do it as I've gotten it working before with a postupdate config script I think, but need to retest it. We might only be able to do it with a GitHub App (a nextcloud org owner/admin would need to create it, but it's also free) and/or running self-hosted RenovateBot via GitHub Actions, but I could be misremembering. If someone else in the community already has this working on a fork of this repo, I'm happy to take a look at a PR, otherwise I will eventually get around to solving this in other charts and this one too.

This is for other images in the chart, and could also apply to the default image, but we would need to set a tag still, and I think it only updates the version, and not the appVersion: https://docs.renovatebot.com/modules/manager/helm-values/#additional-information

Re: https://github.com/renovatebot/renovate/issues/8231 - that's been open since 2021, but I don't think I've tried the most recent suggestions there

wrenix commented 1 month ago

i have not test the bump of helm-chart eigther yet - but the issue has moved to a dissussion https://github.com/renovatebot/renovate/discussions/28861 now ....

jessebot commented 1 month ago

I added a PR to do what renovateBot can do for now, because even what it can do is still better than everything dependabot can do (when it comes to helm charts). If you have spare time (totally not necessary though), you can read through this massive thread to see where we are in troubleshooting this: https://github.com/renovatebot/renovate/discussions/28861#discussioncomment-9326722

wrenix commented 1 month ago

Nice, thank you for your testung - i will try it in my also (appVersion with regex and helm-values i has already)

jessebot commented 1 month ago

I did a small write-up here on how I got it working for all possible helm updates, including bumping the version in Chart.yaml when appVersion changes or when an image tag is updated in values.yaml: https://github.com/small-hack/matrix-chart/issues/498#issuecomment-2141870759