@@ -27,7 +27,8 @@ import (
2727)
2828
2929const (
30- defaultGoModVersion = "go 1.23.0"
30+ defaultGoModVersion = "go 1.23.0"
31+ defaultImageGoModVersion = "golang:1.23-alpine"
3132
3233 // TplNameSponge name of the template
3334 TplNameSponge = "sponge"
@@ -853,6 +854,16 @@ func getLocalGoVersion() string {
853854 return versionList [0 ].goVersion
854855}
855856
857+ func extractImageGoVersion () string {
858+ goVersion := getLocalGoVersion ()
859+ re := regexp .MustCompile (`go\s+(\d+\.\d+)\.\d+` )
860+ matches := re .FindStringSubmatch (goVersion )
861+ if len (matches ) > 1 {
862+ return fmt .Sprintf ("golang:%s-alpine" , matches [1 ])
863+ }
864+ return defaultImageGoModVersion
865+ }
866+
856867func dbDriverErr (driver string ) error {
857868 return errors .New ("unsupported db driver: " + driver )
858869}
@@ -892,6 +903,10 @@ func GetGoModFields(moduleName string) []replacer.Field {
892903 Old : defaultGoModVersion ,
893904 New : getLocalGoVersion (),
894905 },
906+ {
907+ Old : defaultImageGoModVersion ,
908+ New : extractImageGoVersion (),
909+ },
895910 {
896911 Old : spongeTemplateVersionMark ,
897912 New : getLocalSpongeTemplateVersion (),
0 commit comments