@@ -17,8 +17,10 @@ limitations under the License.
1717package main
1818
1919import (
20+ "fmt"
2021 "io"
2122 "net/http"
23+ "os"
2224 "strings"
2325
2426 "k8s.io/klog/v2"
@@ -138,6 +140,7 @@ var (
138140 // searching for 1.* so it does NOT match "KVM_GO_VERSION ?= $(GO_VERSION:.0=)" in the Makefile
139141 `GO_VERSION \?= 1.*` : `GO_VERSION ?= {{.StableVersion}}` ,
140142 `GO_K8S_VERSION_PREFIX \?= v1.*` : `GO_K8S_VERSION_PREFIX ?= {{.K8SVersion}}` ,
143+ `GO_VERSION=[0-9.]+` : `GO_VERSION={{.StableVersion}}` ,
141144 },
142145 },
143146 "hack/jenkins/installers/check_install_golang.sh" : {
@@ -150,6 +153,16 @@ var (
150153 `GoVersion = ".*"` : `GoVersion = "{{.StableVersion}}"` ,
151154 },
152155 },
156+ "deploy/kicbase/Dockerfile" : {
157+ Replace : map [string ]string {
158+ `golang:[0-9.]+` : `golang:{{.StableVersion}}` ,
159+ },
160+ },
161+ "deploy/addons/auto-pause/Dockerfile" : {
162+ Replace : map [string ]string {
163+ `golang:.*` : `golang:{{.StableVersion}}` ,
164+ },
165+ },
153166 }
154167)
155168
@@ -176,6 +189,10 @@ func main() {
176189 klog .Infof ("Golang stable version: %s" , data .StableVersion )
177190
178191 update .Apply (schema , data )
192+
193+ if err := updateGoHashFile (stable ); err != nil {
194+ klog .Fatalf ("failed to update go hash file: %v" , err )
195+ }
179196}
180197
181198// goVersions returns Golang stable version.
@@ -198,3 +215,24 @@ func goVersions() (stable, stableMM, k8sVersion string, err error) {
198215 stableMM = strings .Join (mmp [0 :2 ], "." ) // <major>.<minor> version
199216 return stable , stableMM , k8sVersion , nil
200217}
218+
219+ func updateGoHashFile (version string ) error {
220+ r , err := http .Get (fmt .Sprintf ("https://dl.google.com/go/go%s.src.tar.gz.sha256" , version ))
221+ if err != nil {
222+ return fmt .Errorf ("failed to download golang sha256 file: %v" , err )
223+ }
224+ defer r .Body .Close ()
225+ sha , err := io .ReadAll (r .Body )
226+ if err != nil {
227+ return fmt .Errorf ("failed to read response body: %v" , err )
228+ }
229+ f , err := os .OpenFile ("../../../deploy/iso/minikube-iso/go.hash" , os .O_APPEND | os .O_WRONLY , 0644 )
230+ if err != nil {
231+ return fmt .Errorf ("failed to open go.hash file: %v" , err )
232+ }
233+ defer f .Close ()
234+ if _ , err := f .WriteString (fmt .Sprintf ("sha256 %s go%s.src.tar.gz\n " , sha , version )); err != nil {
235+ return fmt .Errorf ("failed to write to go.hash file: %v" , err )
236+ }
237+ return nil
238+ }
0 commit comments