Skip to content

Commit

Permalink
Merge pull request #81 from renproject/release/3.0.13
Browse files Browse the repository at this point in the history
Release 3.0.13
  • Loading branch information
tok-kkk committed Sep 23, 2020
2 parents 5a54c95 + ae15447 commit 8d7e7bb
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 15 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## 3.0.13
- Fix pagination issue when fetching latest darknode releases from github.

## 3.0.12
- Fix connection issue when withdrawing gas

## 3.0.11
- Use suggest gas price for withdrawing ETH.

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.0.12
3.0.13
40 changes: 26 additions & 14 deletions util/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -171,33 +171,45 @@ func LatestStableRelease() (string, error) {
defer cancel()

client := github.NewClient(nil)
releases, response, err := client.Repositories.ListReleases(ctx, "renproject", "darknode-release", nil)
if err != nil {
return "", err
}
if response.StatusCode != http.StatusOK {
return "", fmt.Errorf("cannot get latest darknode release from github, error code = %v", response.StatusCode)
opts := &github.ListOptions{
PerPage: 25,
}

latest, err := version.NewVersion("0.0.0")
if err != nil {
return "", err
}
verReg := "^v?[0-9]+\\.[0-9]+\\.[0-9]+$"
for _, release := range releases {
match, err := regexp.MatchString(verReg, *release.TagName)

// Fetch all releases and find the latest stable release tag
for {
releases, response, err := client.Repositories.ListReleases(ctx, "renproject", "darknode-release", opts)
if err != nil {
return "", err
}
if match {
ver, err := version.NewVersion(*release.TagName)

if response.StatusCode != http.StatusOK {
return "", fmt.Errorf("cannot get latest darknode release from github, error code = %v", response.StatusCode)
}

verReg := "^v?[0-9]+\\.[0-9]+\\.[0-9]+$"
for _, release := range releases {
match, err := regexp.MatchString(verReg, *release.TagName)
if err != nil {
return "", err
}
if ver.GreaterThan(latest) {
latest = ver
if match {
ver, err := version.NewVersion(*release.TagName)
if err != nil {
return "", err
}
if ver.GreaterThan(latest) {
latest = ver
}
}
}
if response.NextPage == 0{
break
}
opts.Page = response.NextPage
}
if latest.String() == "0.0.0" {
return "", errors.New("cannot find any stable release")
Expand Down

0 comments on commit 8d7e7bb

Please sign in to comment.