-
Notifications
You must be signed in to change notification settings - Fork 28
New Kubernetes Release
The following steps are required to create a new branch for a new Kubernetes release:
-
Create new Label for the new release. "release-1.xx"
-
Create new branch for this new Kubernetes release
- Select the current branch from which the new branch will be created.
- In the
Find or create a branch...field under theBranchdrop-down menu, enter the new branch namerelease-<major>.<minor>where<major>.<minor>is the Kubernetes major and minor version (e.g.release-1.35)
-
Update dependabot.yml configuration
-
Update kube-update.yml Github Action workflow
-
Update golangci-update.yml Github Action workflow
-
Determine the version of latest Kubernetes Releases
-
Click on that release to get to github source code. Located the go.mod to determine the the GO version
-
Update the
go.mod/go.sumwith the information retrieved in the previous two steps- Install the same version of GO that is being used for this Kubernetes release
- Checkout the new release branch that was just created
- Update
go.mod:- Change each of the direct
k8s.iomodules to new release/patch level (such as v0.35.0-alpha.1)- NOTE: The GO libraries are
v0.where as the Kubernetes release isv1.
- NOTE: The GO libraries are
- Remove all indirect references to
k8s.iomodules that are using the old release - Update the GO version
- Change each of the direct
- Run:
go mod tidy
-
Run a local build of the repo:
make all. Fix each error until the the new branch compiles cleanly. -
Check in / merge the new branch
-
Make sure the Github actions build the branch cleanly
-
Set the new branch to be the "default" branch. This is done in the repo Settings under the
Generaltab -
Delete files no longer needed in the previous "default" branch
- .github/workflows/dispatch-pr-create.yml
- .github/workflows/golangci-update.yml
- .github/workflows/kube-update.yml
- .github/dependabot.yml
-
Update the Kubernetes-to-OpenShift-releases with the new release
-
Within 24 hours, the kube-update.yml Github Action workflow will run and update the remaining files in the new branch to the new Kubernetes release