feature: automate helm version update process
Add an automated periodic update job that checks for new Helm releases and updates the documentation accordingly.
Example output: https://github.com/helm/helm-www/pull/1953
How it works
The update job runs daily at 2am Pacific (9am UTC) and performs the following steps:
- Check for new releases: Fetches the latest releases from the Helm GitHub repository
- Filter releases: Ignores pre-release versions and focuses on stable releases
-
Update versions: Updates version numbers in
config.tomlfor new minor releases of v3 and v2 -
Update dependencies: Updates the Go module dependencies in
sdkexamples/go.modfor v3 updates - Regenerate documentation: Runs the Helm CLI documentation generator to update command references
- Create pull request: If changes are made, creates a pull request with the updates
I agree that "no need to check for Helm 2 updates - there are no more", but that can stand as a placeholder for v4 when that become available. I don't want to remove the capability to update two releases.
Notes in italic about what is done and what is not or partial:
Split the functionality:
- [x] I'm thinking there should be two scripts: one to poll for newer Helm versions, and another to update the docs in all the places we need for a new version (Instead of this, I've changed the script to work on one version at a time which simplifies it. Currently it is less than 200 lines.)
- [x] the first can be on a cron, and can trigger the second passing the version as an arg to workflow_dispatch
- [x] when the workflow_dispatch is manually triggered, the user can pass the version as the argument
More simplifications:
- [x] no need to check for Helm 2 updates - there are no more (Consider it a placeholder for when v4 is available)
- [x] we can remove docker call from the script - the workflow will run on ubuntu already _(this makes manual runs difficult)
- [x] the readme for this script may be too verbose, especially given the details may change with the new docs site.
Other details:
- [X] all files need a newline at EOF
- [X] the make target name should probably be update-docs-version or something more specific than update-docs
Updated for new site. Seems to work.