@@ -14,8 +14,7 @@ import (
1414
1515 "github.com/hashicorp/go-retryablehttp"
1616 "github.com/jetstack/version-checker/pkg/metrics"
17-
18- "github.com/Masterminds/semver/v3"
17+ "github.com/jetstack/version-checker/pkg/version/semver"
1918)
2019
2120const channelURLSuffix = "https://dl.k8s.io/release/"
@@ -83,21 +82,20 @@ func (s *ClusterVersionScheduler) reconcile(_ context.Context) error {
8382 return fmt .Errorf ("fetching latest stable version: %w" , err )
8483 }
8584
86- latestSemVer , err := semver .NewVersion (latest )
87- if err != nil {
88- return err
89- }
90- currentSemVer , err := semver .NewVersion (current .GitVersion )
91- if err != nil {
92- return err
93- }
94- // Strip metadata from the versions
95- currentSemVerNoMeta , _ := currentSemVer .SetMetadata ("" )
96- latestSemVerNoMeta , _ := latestSemVer .SetMetadata ("" )
85+ latestSemVer := semver .Parse (latest )
86+ currentSemVer := semver .Parse (current .GitVersion )
87+
88+ // Create version strings without metadata for comparison
89+ currentSemVerNoMeta := fmt .Sprintf ("%d.%d.%d" , currentSemVer .Major (), currentSemVer .Minor (), currentSemVer .Patch ())
90+ latestSemVerNoMeta := fmt .Sprintf ("%d.%d.%d" , latestSemVer .Major (), latestSemVer .Minor (), latestSemVer .Patch ())
91+
92+ // Parse the versions without metadata for comparison
93+ currentComparable := semver .Parse (currentSemVerNoMeta )
94+ latestComparable := semver .Parse (latestSemVerNoMeta )
9795
9896 // Register metrics!
99- s .metrics .RegisterKubeVersion (! currentSemVerNoMeta .LessThan (& latestSemVerNoMeta ),
100- currentSemVerNoMeta . String () , latestSemVerNoMeta . String () ,
97+ s .metrics .RegisterKubeVersion (! currentComparable .LessThan (latestComparable ),
98+ currentSemVerNoMeta , latestSemVerNoMeta ,
10199 s .channel ,
102100 )
103101
0 commit comments