INNER CODE UNIT · Go
getLatestGoVersionByReleaseTrack
projectcontour/contour · hack/actions/bump-go-version/main.go:96
func getLatestGoVersionByReleaseTrack(track string) string {
resp, err := http.Get("https://go.dev/dl/?mode=json&include=all")
if err != nil {
log.WithError(err).Fatal("Failed to fetch releases from go.dev API")
}
defer resp.Body.Close()
var releases []struct{ Version string }
if err := json.NewDecoder(resp.Body).Decode(&releases); err != nil {
log.WithError(err).Fatal("Failed to parse releases in go.dev API response")
}
prefix := "go" + track
for _, r := range releases {
if strings.HasPrefix(r.Version, prefix) {
return r.Version
}
}