@@ -124,28 +124,39 @@ func getAndUpdateDependency(ctx context.Context, client *github.Client, dependen
124124}
125125
126126func getVersionAndCommit (ctx context.Context , client * github.Client , dependencies Dependencies , dependencyType string ) (string , string , error ) {
127-
128127 var version * github.RepositoryRelease
129128 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 )
129+ foundPrefixVersion := false
130+ options := & github.ListOptions {Page : 1 }
136131
137- if err != nil {
138- return "" , "" , fmt .Errorf ("error getting releases: %s" , err )
139- }
132+ for {
133+ releases , resp , err := client .Repositories .ListReleases (
134+ ctx ,
135+ dependencies [dependencyType ].Owner ,
136+ dependencies [dependencyType ].Repo ,
137+ options )
140138
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 ]
139+ if err != nil {
140+ return "" , "" , fmt .Errorf ("error getting releases: %s" , err )
141+ }
142+
143+ if dependencies [dependencyType ].TagPrefix == "" {
144+ version = releases [0 ]
145+ break
146+ } else if resp .NextPage == 0 {
147+ break
148+ } else {
149+ for release := range releases {
150+ if strings .HasPrefix (* releases [release ].TagName , dependencies [dependencyType ].TagPrefix ) {
151+ version = releases [release ]
152+ foundPrefixVersion = true
153+ break
154+ }
155+ }
156+ if foundPrefixVersion {
147157 break
148158 }
159+ options .Page = resp .NextPage
149160 }
150161 }
151162
0 commit comments