ginkgo_upgrade.md
ginkgo version but only in go.mod and go.sum files.Wait for cloud build. If you don't have access to cloudbuild, you can also have a look at this, to see the progress of the build.
Proceed only after cloud-build is successful in building a new Ingress-Nginx-Controller image.
Promoting the images basically means that images, that were pushed to staging container registry in the steps above, now are also pushed to the public container registry. Thus are publicly available. Follow these steps to promote images:
Dockerfile or other core content under images directory , it generates a new image in google cloudbuild. This is because kubernetes projects need to use the infra provided for the kubernetes projects. The new image is always only pushed to the staging repository of K8S. From the staging repo, the new image needs to be promoted to the production repo. And once promoted, its possible to use the sha of the new image in the code.Get the sha of the new image(s) of the controller, from the cloudbuild, from steps above
The sha is available in output from cloud build
The sha is also visible here
The sha is also visible here, after cloud build is finished. Click on the respective job, go to Artifacts section in the UI, then again artifacts in the directory browser. In the build.log at the very bottom you see something like this:
...
pushing manifest for us-central1-docker.pkg.dev/k8s-staging-images/ingress-nginx/controller:v1.0.2@sha256:e15fac6e8474d77e1f017edc33d804ce72a184e3c0a30963b2a0d7f0b89f6b16
...
The sha(s) from the step before (and the tag(s) for the new image(s) have to be added, as a new line, in a file, of the k8s.io project of Kubernetes organization.
Fork that other project (if you don't have a fork already).
Other project to fork Github repo kubernetes/k8s.io
Fetch --all and rebase to upstream if already forked.
Create a branch in your fork, named as the issue number for this release
In the related branch, of your fork, edit the file registry.k8s.io/images/k8s-staging-ingress-nginx/images.yaml.
For making it easier, you can edit your branch directly in the browser. But be careful about making any mistake.
Insert the sha(s) & the tag(s), in a new line, in this file Project kubernetes/k8s.io Ingress-Nginx-Controller Images Look at this example PR and the diff to see how it was done before
Save and commit
Merge success is required.
Proceed only after cloud-build is successful in building a new e2e-test-runner image.
Get your git workspace ready
If not using a pre-existing fork, then Fork the repo kubernetes/ingress-nginx
Clone (to laptop or wherever)
Add upstream
Set upstream url to no_push
Checkout & switch to branch, named as per related new-release-issue-number
If already forked, and upstream already added, then git fetch --all and git rebase upstream/main (not origin)
Checkout a branch in your fork's clone
Perform any other diligence as needed
Prefer to edit only and only in your branch, in your Fork
You need update the testrunner-image-sha in the following files :