kube-openapi is consumed by kubernetes/kubernetes (k/k) via Go modules. A
"release" is a commit-pin bump of k8s.io/kube-openapi in k/k's go.mod,
followed by regeneration of OpenAPI artifacts.
Sample PR: kubernetes/kubernetes#138931
Placeholders:
<NEW-SHA>— new kube-openapi commit to pin. Typically the latest commit onmaster: https://github.com/kubernetes/kube-openapi/commits/master<OLD-SHA>— previous pin (read from thek8s.io/kube-openapiversion string in k/kgo.mod; the trailing hex is the commit SHA).
Run from the root of a k/k checkout:
# 1. Pin the new commit. Rewrites go.mod with the new kube-openapi version.
hack/pin-dependency.sh k8s.io/kube-openapi <NEW-SHA>
# 2. Rebuild vendor. Touches every staging go.mod/go.sum and vendor/.
hack/update-vendor.sh
# 3. Regenerate zz_generated.openapi.go files.
hack/update-codegen.sh
# 4. Regenerate api/openapi-spec/ (etcd must be in PATH, see hack/install-etcd.sh).
hack/update-openapi-spec.shLand as two commits, in order:
Bump kube-openapi to <short-SHA>Regenerate OpenAPI
Include a compare link in the PR description as the change list:
https://github.com/kubernetes/kube-openapi/compare/<OLD-SHA>...<NEW-SHA>