mirror of
https://github.com/MedzikUser/go-github-selfupdate.git
synced 2024-08-15 03:25:29 +00:00
do not assume tag text is always semantic versioning
regex \d+\.\d+\.\d+ is tested for repository tags. But it's not sufficient. For example, '0.1.2.3.4' is not adopting a semantic versioning, but can pass the regex.
This commit is contained in:
parent
9b705a72eb
commit
d5c53b8d05
1 changed files with 9 additions and 1 deletions
|
@ -33,11 +33,19 @@ func findAssetFromReleasse(rel *github.RepositoryRelease, suffixes []string) (*g
|
|||
verText = verText[indices[0]:]
|
||||
}
|
||||
|
||||
// If semver cannot parse the version text, it means that the text is not adopting
|
||||
// the semantic versioning. So it should be skipped.
|
||||
ver, err := semver.Make(verText)
|
||||
if err != nil {
|
||||
log.Println("Failed to parse a semantic version", verText)
|
||||
return nil, semver.Version{}, false
|
||||
}
|
||||
|
||||
for _, asset := range rel.Assets {
|
||||
name := asset.GetName()
|
||||
for _, s := range suffixes {
|
||||
if strings.HasSuffix(name, s) {
|
||||
return &asset, semver.MustParse(verText), true
|
||||
return &asset, ver, true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue