You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Prioritize making the prereq changes as minimal and low-risk as possible.
162
165
Merge those changes to the default Kubernetes development branch *prior* to updating to go 1.N.
163
166
This ensures those changes build and pass tests with both go 1.N and 1.(N‑1).
164
-
Here is an [example of tracking and pre-merging changes for adopting go 1.20](https://github.com/kubernetes/release/issues/2815#issuecomment-1373891562).
167
+
Here is an [example of tracking prereq changes for go1.20](https://github.com/kubernetes/release/issues/2815#issuecomment-1373891562).
168
+
169
+
**2. Backport prereq changes to release branches**
170
+
171
+
Backport prereq changes for go 1.N to release branches, keeping in mind the guidance to
172
+
[avoid introducing risk to release branches](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-release/cherry-picks.md#what-kind-of-prs-are-good-for-cherry-picks).
173
+
174
+
Considering the typical changes required to update go versions:
175
+
176
+
* Tooling and test changes carry minimal risk
177
+
* Dependency updates should be evaluated for extent / risk; if needed, and if possible, work with dependency maintainers to obtain the required fix in a more scoped way
178
+
* Updates to fix issues caught by improved vet or lint checks generally fix real problems and are reasonable to backport, or are very small / isolated and carry minimal risk
179
+
* Updates to make code work with both go 1.N and 1.(N‑1) should be evaluated for extent / risk; if needed, isolate the change in go-version-specific files.
180
+
181
+
Here is an [example of tracking backports of prereq changes for go 1.20](https://github.com/kubernetes/release/issues/2815#issuecomment-1373891562).
182
+
183
+
**3. Update release branches to new go minor versions**
165
184
166
-
Ensure all of those changes are backported to supported Kubernetes release branches,
167
-
and update those release branches to build/release using go 1.N once all of these
168
-
conditions are satisfied:
185
+
Update release branches to build/release using go 1.N once all of these conditions are satisfied:
169
186
170
187
1. go 1.N has been released at least 3 months
171
188
* this gives ~3 months for adoption of go 1.N by the go community
0 commit comments