diff --git a/internal/feed/github.go b/internal/feed/github.go index 782d612..18487f0 100644 --- a/internal/feed/github.go +++ b/internal/feed/github.go @@ -38,16 +38,10 @@ func fetchLatestGithubRelease(request *ReleaseRequest) (*AppRelease, error) { return nil, err } - version := response.TagName - - if len(version) > 0 && version[0] != 'v' { - version = "v" + version - } - return &AppRelease{ Source: ReleaseSourceGithub, Name: request.Repository, - Version: version, + Version: normalizeVersionFormat(response.TagName), NotesUrl: response.HtmlUrl, TimeReleased: parseRFC3339Time(response.PublishedAt), Downvotes: response.Reactions.Downvotes, diff --git a/internal/feed/gitlab.go b/internal/feed/gitlab.go index 4e0c1e8..3ff0f00 100644 --- a/internal/feed/gitlab.go +++ b/internal/feed/gitlab.go @@ -38,16 +38,10 @@ func fetchLatestGitLabRelease(request *ReleaseRequest) (*AppRelease, error) { return nil, err } - version := response.TagName - - if len(version) > 0 && version[0] != 'v' { - version = "v" + version - } - return &AppRelease{ Source: ReleaseSourceGitlab, Name: request.Repository, - Version: version, + Version: normalizeVersionFormat(response.TagName), NotesUrl: response.Links.Self, TimeReleased: parseRFC3339Time(response.ReleasedAt), }, nil diff --git a/internal/feed/utils.go b/internal/feed/utils.go index f86b497..a6e3f8d 100644 --- a/internal/feed/utils.go +++ b/internal/feed/utils.go @@ -105,3 +105,13 @@ func parseRFC3339Time(t string) time.Time { return parsed } + +func normalizeVersionFormat(version string) string { + version = strings.ToLower(strings.TrimSpace(version)) + + if len(version) > 0 && version[0] != 'v' { + return "v" + version + } + + return version +}