@@ -109,20 +109,47 @@ make build-image image-tag image-push helm_deploy test-e2e
109109
110110# Release
111111
112- 1 . Update [ CHANGELOG.md] ( CHANGELOG.md )
113- 2 . Update chart version (if needed) in [ Chart.yaml] ( ../deploy/k8s-osc-ccm/Chart.yaml )
114- 3 . Update cloud-provider-osc version in [ values.yaml] ( ../deploy/k8s-osc-ccm/values.yaml )
115- 4 . Update prerequisites section in [ deploy/README.md] ( ../deploy/README.md )
116- 5 . Generate helm doc ` make helm-docs `
117- 6 . Update [ deploy/osc-ccm-manifest.yml] ( ../deploy/osc-ccm-manifest.yml ) ` make helm-manifest `
118- 7 . Commit version with ` git commit -am "cloud-controller-manager vX.Y.Z" `
119- 8 . Create PR and merge it to main
120- 9 . Tag the release
112+ ## Helm release
113+
114+ 1 . In [ CHANGELOG.md] ( CHANGELOG.md ) , add a new vX.Y.Z-helm version
115+ 2 . Update chart version (if needed) in [ Chart.yaml] ( ../deploy/k8s-osc-ccm/Chart.yaml )
116+ 3 . Update cloud-provider-osc version in [ values.yaml] ( ../deploy/k8s-osc-ccm/values.yaml ) (listing all active container versions)
117+ 4 . Generate helm doc ` make helm-docs `
118+ 5 . Update manifests ` make helm-manifest `
119+ 6 . Commit version with ` git commit -am "cloud-controller-manager vX.Y.Z" `
120+ 7 . Create PR and merge it to main
121+ 8 . Tag & push the release
121122``` shell
122- git tag -a vX.X.X -m " 🔖 Release vX.X.X"
123+ export HELM_VERSION=vX.Y.Z-helm
124+ git tag -a $HELM_VERSION -m " 🔖 Helm $HELM_VERSION "
125+ git push origin $HELM_VERSION
123126```
124- 10 . Push the tag
127+ 11 . Publish the release on Github
128+
129+ ## Container release
130+
131+ There must be a release for each active Kubernetes release.
132+ Each Kubernetes release has its own release branch (kubernetes-1.31, kubernetes-1.32, kubernetes-1.33, kubernetes-1.34)
133+
134+ Versioning is vX.Y.Z, where X.Y are the major/minor version numbers of each Kubernetes release.
135+ Z is the version of the CCM, is increased at each release, and is the same for every Kubernetes release branch.
136+
137+ 1 . In [ CHANGELOG.md] ( CHANGELOG.md ) , add a new version for every release branch
138+ 2 . In [ README.md] ( README.md ) , update the recommended version for each Kubernetes release
139+ 3 . Create PR and merge it to main
140+ 4 . Merge main into each release branch
125141``` shell
126- git push origin vX.X.X
142+ git co kubernetes-X.Y
143+ git merge main
144+ git push origin kubernetes-X.Y
127145```
128- 11 . Publish the release on Github
146+ 5 . Check that CI is OK on every release branch
147+ 6 . Tag release for each release branch
148+ ``` shell
149+ git co kubernetes-X.Y
150+ git pull --rebase
151+ export VERSION=vX.Y.Z
152+ git tag -a $VERSION -m " 🔖 CCM $VERSION "
153+ git push origin $VERSION
154+ ```
155+ 7 . Publish the releases on Github
0 commit comments