From 44721b9aa85aac16f680dbbdd982bfcd2c92007c Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Wed, 11 Mar 2026 00:41:41 -0600 Subject: [PATCH] fix(postgres/psql): normalize REL_17_0 tag format to 17.0 Strip REL_ prefix and convert underscores to dots in a per-package normalizer rather than config, matching the convention for watchexec. --- internal/classifypkg/classifypkg.go | 3 +++ internal/releases/postgres/versions.go | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 internal/releases/postgres/versions.go 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, "_", ".") + } +}