diff --git a/internal/classifypkg/classifypkg.go b/internal/classifypkg/classifypkg.go index 6787375..1fbca4e 100644 --- a/internal/classifypkg/classifypkg.go +++ b/internal/classifypkg/classifypkg.go @@ -32,6 +32,7 @@ import ( "github.com/webinstall/webi-installers/internal/releases/node" "github.com/webinstall/webi-installers/internal/releases/ollama" "github.com/webinstall/webi-installers/internal/releases/pwsh" + "github.com/webinstall/webi-installers/internal/releases/postgres" "github.com/webinstall/webi-installers/internal/releases/watchexec" "github.com/webinstall/webi-installers/internal/releases/xcaddy" "github.com/webinstall/webi-installers/internal/releases/zigdist" @@ -127,6 +128,8 @@ func NormalizeVersions(pkg string, assets []storage.Asset) { assets[i].Version = "0." + v[1:] + ".0" } } + case "postgres", "psql": + postgres.NormalizeVersions(assets) case "watchexec": watchexec.NormalizeVersions(assets) } diff --git a/internal/releases/postgres/versions.go b/internal/releases/postgres/versions.go new file mode 100644 index 0000000..bdddaf4 --- /dev/null +++ b/internal/releases/postgres/versions.go @@ -0,0 +1,16 @@ +package postgres + +import ( + "strings" + + "github.com/webinstall/webi-installers/internal/storage" +) + +// NormalizeVersions strips the REL_ prefix and converts underscores to dots. +// GitHub tags are "REL_17_0" → version becomes "17.0". +func NormalizeVersions(assets []storage.Asset) { + for i := range assets { + v := strings.TrimPrefix(assets[i].Version, "REL_") + assets[i].Version = strings.ReplaceAll(v, "_", ".") + } +}