Skip to content

Commit 8d7e7bb

Browse files
authoredSep 23, 2020
Merge pull request #81 from renproject/release/3.0.13
Release 3.0.13
2 parents 5a54c95 + ae15447 commit 8d7e7bb

File tree

3 files changed

+33
-15
lines changed

3 files changed

+33
-15
lines changed
 

‎CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## 3.0.13
2+
- Fix pagination issue when fetching latest darknode releases from github.
3+
4+
## 3.0.12
5+
- Fix connection issue when withdrawing gas
6+
17
## 3.0.11
28
- Use suggest gas price for withdrawing ETH.
39

‎VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.0.12
1+
3.0.13

‎util/node.go

+26-14
Original file line numberDiff line numberDiff line change
@@ -171,33 +171,45 @@ func LatestStableRelease() (string, error) {
171171
defer cancel()
172172

173173
client := github.NewClient(nil)
174-
releases, response, err := client.Repositories.ListReleases(ctx, "renproject", "darknode-release", nil)
175-
if err != nil {
176-
return "", err
177-
}
178-
if response.StatusCode != http.StatusOK {
179-
return "", fmt.Errorf("cannot get latest darknode release from github, error code = %v", response.StatusCode)
174+
opts := &github.ListOptions{
175+
PerPage: 25,
180176
}
181-
182177
latest, err := version.NewVersion("0.0.0")
183178
if err != nil {
184179
return "", err
185180
}
186-
verReg := "^v?[0-9]+\\.[0-9]+\\.[0-9]+$"
187-
for _, release := range releases {
188-
match, err := regexp.MatchString(verReg, *release.TagName)
181+
182+
// Fetch all releases and find the latest stable release tag
183+
for {
184+
releases, response, err := client.Repositories.ListReleases(ctx, "renproject", "darknode-release", opts)
189185
if err != nil {
190186
return "", err
191187
}
192-
if match {
193-
ver, err := version.NewVersion(*release.TagName)
188+
189+
if response.StatusCode != http.StatusOK {
190+
return "", fmt.Errorf("cannot get latest darknode release from github, error code = %v", response.StatusCode)
191+
}
192+
193+
verReg := "^v?[0-9]+\\.[0-9]+\\.[0-9]+$"
194+
for _, release := range releases {
195+
match, err := regexp.MatchString(verReg, *release.TagName)
194196
if err != nil {
195197
return "", err
196198
}
197-
if ver.GreaterThan(latest) {
198-
latest = ver
199+
if match {
200+
ver, err := version.NewVersion(*release.TagName)
201+
if err != nil {
202+
return "", err
203+
}
204+
if ver.GreaterThan(latest) {
205+
latest = ver
206+
}
199207
}
200208
}
209+
if response.NextPage == 0{
210+
break
211+
}
212+
opts.Page = response.NextPage
201213
}
202214
if latest.String() == "0.0.0" {
203215
return "", errors.New("cannot find any stable release")

0 commit comments

Comments
 (0)
Please sign in to comment.