diff --git a/go/tools/go-upgrade/go-upgrade.go b/go/tools/go-upgrade/go-upgrade.go index 7b36fd14c02..6dc07874d2b 100644 --- a/go/tools/go-upgrade/go-upgrade.go +++ b/go/tools/go-upgrade/go-upgrade.go @@ -318,7 +318,7 @@ func getLatestStableGolangReleases() (version.Collection, error) { func chooseNewVersion(curVersion *version.Version, latestVersions version.Collection, allowMajorUpgrade bool) *version.Version { selectedVersion := curVersion for _, latestVersion := range latestVersions { - if !allowMajorUpgrade && !isSameMajorMinorVersion(latestVersion, selectedVersion) { + if !allowMajorUpgrade && !isSameVersion(latestVersion, selectedVersion) { continue } if latestVersion.GreaterThan(selectedVersion) { @@ -365,12 +365,12 @@ func replaceGoVersionInCodebase(old, new *version.Version) error { } } - if !isSameMajorMinorVersion(old, new) { + if !isSameVersion(old, new) { goModFiles := []string{"./go.mod"} for _, file := range goModFiles { err = replaceInFile( []*regexp.Regexp{regexp.MustCompile(regexpReplaceGoModGoVersion)}, - []string{fmt.Sprintf("go %d.%d", new.Segments()[0], new.Segments()[1])}, + []string{fmt.Sprintf("go %d.%d.%d", new.Segments()[0], new.Segments()[1], new.Segments()[2])}, file, ) if err != nil { @@ -451,8 +451,8 @@ func updateBootstrapChangelog(new string, goVersion *version.Version) error { return nil } -func isSameMajorMinorVersion(a, b *version.Version) bool { - return a.Segments()[0] == b.Segments()[0] && a.Segments()[1] == b.Segments()[1] +func isSameVersion(a, b *version.Version) bool { + return a.Segments()[0] == b.Segments()[0] && a.Segments()[1] == b.Segments()[1] && a.Segments()[2] == b.Segments()[2] } func getListOfFilesInPaths(pathsToExplore []string) ([]string, error) {