Skip to content

Commit a3dfafa

Browse files
authored
Fix Dependency Update Multiple Pages + Update Op-node to V1.13.4 (#482)
* add pagination * change if block order * update versions.json + op-node version * fix json
1 parent 97e1064 commit a3dfafa

2 files changed

Lines changed: 32 additions & 35 deletions

File tree

dependency_updater/dependency_updater.go

Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,8 @@ import (
1616
)
1717

1818
type Info struct {
19-
RepoUrl string `json:"repoUrl"`
2019
Tag string `json:"tag"`
2120
Commit string `json:"commit"`
22-
CommitUrl string `json:"commitUrl"`
23-
VersionUrl string `json:"versionUrl"`
2421
TagPrefix string `json:"tagPrefix,omitempty"`
2522
Owner string `json:"owner`
2623
Repo string `json:"repo`
@@ -124,28 +121,39 @@ func getAndUpdateDependency(ctx context.Context, client *github.Client, dependen
124121
}
125122

126123
func getVersionAndCommit(ctx context.Context, client *github.Client, dependencies Dependencies, dependencyType string) (string, string, error) {
127-
128124
var version *github.RepositoryRelease
129125
var err error
130-
// handle dependencies with prefix
131-
releases, _, err := client.Repositories.ListReleases(
132-
ctx,
133-
dependencies[dependencyType].Owner,
134-
dependencies[dependencyType].Repo,
135-
nil)
126+
foundPrefixVersion := false
127+
options := &github.ListOptions{Page: 1}
136128

137-
if err != nil {
138-
return "", "", fmt.Errorf("error getting releases: %s", err)
139-
}
129+
for {
130+
releases, resp, err := client.Repositories.ListReleases(
131+
ctx,
132+
dependencies[dependencyType].Owner,
133+
dependencies[dependencyType].Repo,
134+
options)
140135

141-
if dependencies[dependencyType].TagPrefix == "" {
142-
version = releases[0]
143-
} else {
144-
for release := range releases {
145-
if strings.HasPrefix(*releases[release].TagName, dependencies[dependencyType].TagPrefix) {
146-
version = releases[release]
136+
if err != nil {
137+
return "", "", fmt.Errorf("error getting releases: %s", err)
138+
}
139+
140+
if dependencies[dependencyType].TagPrefix == "" {
141+
version = releases[0]
142+
break
143+
} else if dependencies[dependencyType].TagPrefix != ""{
144+
for release := range releases {
145+
if strings.HasPrefix(*releases[release].TagName, dependencies[dependencyType].TagPrefix) {
146+
version = releases[release]
147+
foundPrefixVersion = true
148+
break
149+
}
150+
}
151+
if foundPrefixVersion {
147152
break
148153
}
154+
options.Page = resp.NextPage
155+
} else if resp.NextPage == 0 {
156+
break
149157
}
150158
}
151159

@@ -196,6 +204,10 @@ func createVersionsEnv(repoPath string, dependencies Dependencies) error {
196204
envLines := []string{}
197205

198206
for dependency := range dependencies {
207+
repoUrl := "https://github.com/" +
208+
dependencies[dependency].Owner + "/" +
209+
dependencies[dependency].Repo + ".git"
210+
199211
dependencyPrefix := strings.ToUpper(dependency)
200212

201213
envLines = append(envLines, fmt.Sprintf("export %s_%s=%s",
@@ -205,7 +217,7 @@ func createVersionsEnv(repoPath string, dependencies Dependencies) error {
205217
dependencyPrefix, "COMMIT", dependencies[dependency].Commit))
206218

207219
envLines = append(envLines, fmt.Sprintf("export %s_%s=%s",
208-
dependencyPrefix, "REPO", dependencies[dependency].RepoUrl))
220+
dependencyPrefix, "REPO", repoUrl))
209221
}
210222

211223
slices.Sort(envLines)

versions.json

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,32 @@
11
{
22
"base_reth_node": {
3-
"repoUrl": "https://github.com/base/node-reth.git",
43
"tag": "v0.1.3",
54
"commit": "f28c2751a0737d7617e52253a9e81070b87290b5",
6-
"commitUrl": "https://api.github.com/repos/base/node-reth/commits/",
7-
"versionUrl": "https://api.github.com/repos/base/node-reth/releases",
85
"Owner": "base",
96
"Repo": "node-reth"
107
},
118
"nethermind": {
12-
"repoUrl": "https://github.com/NethermindEth/nethermind.git",
139
"tag": "1.32.2",
1410
"commit": "d3e7eb98b28d0b9c7b58a9fb45e83b640b2e17e6",
15-
"commitUrl": "https://api.github.com/repos/NethermindEth/nethermind/commits/",
16-
"versionUrl": "https://api.github.com/repos/NethermindEth/nethermind/releases",
1711
"Owner": "NethermindEth",
1812
"Repo": "nethermind"
1913
},
2014
"op_geth": {
21-
"repoUrl": "https://github.com/ethereum-optimism/op-geth.git",
2215
"tag": "v1.101511.0",
2316
"commit": "68075997f33907401a93216aa426514c5ddc8870",
24-
"commitUrl": "https://api.github.com/repos/ethereum-optimism/op-geth/commits/",
25-
"versionUrl": "https://api.github.com/repos/ethereum-optimism/op-geth/releases",
2617
"Owner": "ethereum-optimism",
2718
"Repo": "op-geth"
2819
},
2920
"op_node": {
30-
"repoUrl": "https://github.com/ethereum-optimism/optimism.git",
3121
"tag": "op-node/v1.13.4",
3222
"commit": "7eedfced77eb30ae72cc8d0e7c793dd2d1b6f161",
33-
"commitUrl": "https://api.github.com/repos/ethereum-optimism/optimism/commits/",
34-
"versionUrl": "https://api.github.com/repos/ethereum-optimism/optimism/releases",
3523
"tagPrefix": "op-node",
3624
"Owner": "ethereum-optimism",
3725
"Repo": "optimism"
3826
},
3927
"op_reth": {
40-
"repoUrl": "https://github.com/paradigmxyz/reth.git",
4128
"tag": "v1.5.0",
4229
"commit": "61e38f9af154fe91e776d8f5e449d20a1571e8cf",
43-
"commitUrl": "https://api.github.com/repos/paradigmxyz/reth/commits/",
44-
"versionUrl": "https://api.github.com/repos/paradigmxyz/reth/releases",
4530
"Owner": "paradigmxyz",
4631
"Repo": "reth"
4732
}

0 commit comments

Comments
 (0)