Skip to content

Commit a868bc1

Browse files
author
colinlyguo
committed
simplify version checks
1 parent 101cc46 commit a868bc1

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

common/version/prover_version.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,21 +39,33 @@ func CheckScrollRepoVersion(proverVersion, minVersion string) bool {
3939
return CheckProverSDKWithMinVersion(proverVersion, minVersion)
4040
}
4141

42-
c, err := semver.NewConstraint(">= " + minVersion + "-0")
42+
proverVersionPrefix := extractVersionPrefix(proverVersion)
43+
minVersionPrefix := extractVersionPrefix(minVersion)
44+
45+
c, err := semver.NewConstraint(">= " + minVersionPrefix + "-0")
4346
if err != nil {
44-
log.Error("failed to initialize constraint", "minVersion", minVersion, "error", err)
47+
log.Error("failed to initialize constraint", "minVersionPrefix", minVersionPrefix, "error", err)
4548
return false
4649
}
4750

48-
v, err := semver.NewVersion(proverVersion + "-z")
51+
v, err := semver.NewVersion(proverVersionPrefix + "-z")
4952
if err != nil {
50-
log.Error("failed to parse version", "proverVersion", proverVersion, "error", err)
53+
log.Error("failed to parse version", "proverVersion", proverVersionPrefix, "error", err)
5154
return false
5255
}
5356

5457
return c.Check(v)
5558
}
5659

60+
func extractVersionPrefix(version string) string {
61+
for i, r := range version {
62+
if (r < '0' || r > '9') && r != '.' && r != 'v' {
63+
return version[:i]
64+
}
65+
}
66+
return version
67+
}
68+
5769
// CheckProverSDKWithMinVersion check prover sdk version is at least the minimum required version, it simply returns true for now,
5870
// and more checks will be added as we evolve.
5971
func CheckProverSDKWithMinVersion(proverVersion string, minVersion string) bool {

common/version/prover_version_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ func TestCheckScrollRepoVersion(t *testing.T) {
4949
{"v4.1.98-aaa-bbb-ccc", "v999.0.0", false},
5050
{"v1.0.0", "v1.0.0", true},
5151
{"v1.0.0-alpha", "v1.0.0-alpha", true},
52+
{"v4.4.90-000000--", "v4.4.90-eb7c51fc-58cdda4-9929c6d", true},
5253
}
5354

5455
for _, tt := range tests {

0 commit comments

Comments
 (0)