Skip to content

Commit 83383c3

Browse files
author
Oleg Sucharevich
authored
return latest version in 0.x.x scope, ignore 1.x.x (#115)
* return latest version in 0.x.x scope, ignore 1.x.x
1 parent 4b7277c commit 83383c3

File tree

3 files changed

+35
-8
lines changed

3 files changed

+35
-8
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "venona",
3-
"version": "0.31.2",
3+
"version": "0.32.0",
44
"description": "Codefresh agent to run on Codefresh's runtime environment and execute pipeline",
55
"main": "index.js",
66
"scripts": {

venonactl/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.31.2
1+
0.32.0

venonactl/pkg/store/utils.go

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,51 @@ const (
1515
type (
1616
logger interface {
1717
Debug(string, ...interface{})
18+
Error(string, ...interface{})
1819
}
1920
)
2021

22+
// GetLatestVersion return the latest version of 0.x.x
23+
// versions >= 1.0.0 are not compitable with 0.3.x and not installed using brew installation
24+
// therefore, GetLatestVersion will return latest version in 0.x.x space
2125
func GetLatestVersion(logger logger) string {
22-
version := DefaultVersion
26+
defaultversion := DefaultVersion
2327
client := github.NewClient(nil)
2428
releases, _, err := client.Repositories.ListReleases(context.Background(), "codefresh-io", "venona", &github.ListOptions{})
2529
if err != nil {
26-
logger.Debug("Request to get latest version of venona been rejected , setting version to latest. Original error: %s", err.Error())
27-
return version
30+
logger.Error("Request to get latest version of venona been rejected , setting version to latest. Original error: %s", err.Error())
31+
return defaultversion
2832
}
2933
for _, release := range releases {
34+
if release == nil {
35+
continue
36+
}
37+
if release.Draft == nil {
38+
continue
39+
}
40+
if *release.Draft {
41+
continue
42+
}
3043
name := strings.Split(*release.Name, "v")
31-
if len(name) == 2 {
32-
return name[1]
44+
45+
if len(name) < 2 {
46+
continue
47+
}
48+
latestAllowed, err := version.NewVersion("1.0.0")
49+
if err != nil {
50+
logger.Error("Failed to calc semver from version, setting version to latest. error: %s", err.Error())
51+
return DefaultVersion
52+
}
53+
current, err := version.NewVersion(name[1])
54+
if err != nil {
55+
logger.Error("Failed to calc semver from version, setting version to latest. error: %s", err.Error())
56+
return DefaultVersion
57+
}
58+
if current.LessThan(latestAllowed) {
59+
return current.String()
3360
}
3461
}
35-
return version
62+
return defaultversion
3663
}
3764

3865
func IsRunningLatestVersion() (bool, error) {

0 commit comments

Comments
 (0)