mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-04-07 02:46:50 +00:00
fix(go): pad versions to 3 parts, filter -arm6. oddity
Node.js pads Go versions like "1.10" to "1.10.0". Match this behavior in the classifier and comparecache version normalizer. Also filter -arm6. malformed arch and .src. source tarballs from comparison noise. Match count: 73/106
This commit is contained in:
@@ -495,8 +495,8 @@ func isLiveNoise(name string) bool {
|
||||
}
|
||||
}
|
||||
|
||||
// Source tarballs (e.g. gitea-src-1.25.4.tar.gz, caddy_2.10.0_src.tar.gz).
|
||||
if strings.Contains(lower, "-src-") || strings.Contains(lower, "_src.") || strings.HasPrefix(lower, "src-") {
|
||||
// Source tarballs (e.g. gitea-src-1.25.4.tar.gz, caddy_2.10.0_src.tar.gz, go1.26.1.src.tar.gz).
|
||||
if strings.Contains(lower, "-src-") || strings.Contains(lower, "_src.") || strings.Contains(lower, ".src.") || strings.HasPrefix(lower, "src-") {
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -556,6 +556,16 @@ func normalizeVersionFunc(pkg string) func(string) string {
|
||||
}
|
||||
return v
|
||||
}
|
||||
case "go":
|
||||
return func(v string) string {
|
||||
// Go: go1.10 → 1.10.0 (pad to 3 parts)
|
||||
v = strings.TrimPrefix(v, "go")
|
||||
parts := strings.SplitN(v, ".", 3)
|
||||
for len(parts) < 3 {
|
||||
parts = append(parts, "0")
|
||||
}
|
||||
return strings.Join(parts, ".")
|
||||
}
|
||||
default:
|
||||
return func(v string) string { return v }
|
||||
}
|
||||
|
||||
@@ -687,8 +687,14 @@ func classifyGolang(d *rawcache.Dir) ([]storage.Asset, error) {
|
||||
continue
|
||||
}
|
||||
|
||||
// Strip "go" prefix from version: "go1.24.1" → "1.24.1"
|
||||
// Strip "go" prefix and pad to 3-part version: "go1.10" → "1.10.0"
|
||||
version := strings.TrimPrefix(rel.Version, "go")
|
||||
parts := strings.SplitN(version, ".", 3)
|
||||
for len(parts) < 3 {
|
||||
parts = append(parts, "0")
|
||||
}
|
||||
version = strings.Join(parts, ".")
|
||||
|
||||
channel := "stable"
|
||||
if !rel.Stable {
|
||||
channel = "beta"
|
||||
@@ -699,7 +705,7 @@ func classifyGolang(d *rawcache.Dir) ([]storage.Asset, error) {
|
||||
continue
|
||||
}
|
||||
// Skip bootstrap and odd builds.
|
||||
if strings.Contains(f.Filename, "bootstrap") {
|
||||
if strings.Contains(f.Filename, "bootstrap") || strings.Contains(f.Filename, "-arm6.") {
|
||||
continue
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user