Helm charts release¶
We host all Helm charts on kuberay-helm. This document describes the process for release managers to release Helm charts.
The end-to-end workflow¶
Step 1: Update versions in Chart.yaml and values.yaml files¶
Please update the value of
version in ray-cluster/Chart.yaml,
to the new release version (e.g. 0.4.0).
Also make sure
image.tag has been updated in kuberay-operator/values.yaml and kuberay-apiserver/values.yaml.
Step 2: Copy the helm-chart directory from kuberay to kuberay-helm¶
In kuberay-helm CI,
helm/chart-releaser-action will create releases for all charts in the directory
helm-chart and update
index.yaml in the gh-pages branch when the PR is merged into
main. Note that
index.yaml is necessary when you run the command
helm repo add. I recommend removing the
helm-chart directory in the kuberay-helm repository and creating a new one by copying from the kuberay repository.
Step 3: Validate the charts¶
When the PR is merged into
main, the releases and
index.yaml will be generated.
You can validate the charts as follows:
- Confirm that the releases are created as expected.
- Confirm that index.yaml exists.
- Confirm that index.yaml has the metadata of all releases, including old versions.
Check the creation/update time of all releases and
index.yamlto ensure they are updated.
Install charts from Helm repository.
helm repo add kuberay https://ray-project.github.io/kuberay-helm/ # List all charts helm search repo kuberay # Install charts helm install kuberay-operator kuberay/kuberay-operator helm install kuberay-apiserver kuberay/kuberay-apiserver helm install ray-cluster kuberay/ray-cluster
Delete the existing releases¶
helm/chart-releaser-action does not encourage users to delete existing releases;
index.yaml will not be updated automatically after the deletion.
If you really need to do that, please read this section carefully before you do that.
- Delete the releases
Remove the related tags using the the following command. If tags are not properly removed, you may run into the problem described in ray-project/kuberay/#561.* Remove
# git remote -v # upstream firstname.lastname@example.org:ray-project/kuberay-helm.git (fetch) # upstream email@example.com:ray-project/kuberay-helm.git (push) # The following command deletes the tag "ray-cluster-0.4.0". git push --delete upstream ray-cluster-0.4.0
index.yaml* Trigger kuberay-helm CI again to create new releases and a new index.yaml. * Follow "Step 3: Validate the charts" to test it.