@@ -47,8 +47,8 @@ type GitHubClient struct {
4747}
4848
4949func NewGitHubClient (source Source ) (* GitHubClient , error ) {
50- var httpClient = & http.Client {}
51- var ctx = context .TODO ()
50+ httpClient : = & http.Client {}
51+ ctx : = context .TODO ()
5252
5353 if source .Insecure {
5454 httpClient .Transport = & http.Transport {
@@ -214,17 +214,30 @@ func (g *GitHubClient) UpdateRelease(release github.RepositoryRelease) (*github.
214214
215215func (g * GitHubClient ) ListReleaseAssets (release github.RepositoryRelease ) ([]* github.ReleaseAsset , error ) {
216216 opt := & github.ListOptions {PerPage : 100 }
217- assets , res , err := g .client .Repositories .ListReleaseAssets (context .TODO (), g .owner , g .repository , * release .ID , opt )
218- if err != nil {
219- return nil , err
220- }
217+ var allAssets []* github.ReleaseAsset
218+ for {
219+ assets , res , err := g .client .Repositories .ListReleaseAssets (context .TODO (), g .owner , g .repository , * release .ID , opt )
220+ if err != nil {
221+ return []* github.ReleaseAsset {}, err
222+ }
223+ allAssets = append (allAssets , assets ... )
224+ if res .NextPage == 0 {
225+ err = res .Body .Close ()
226+ if err != nil {
227+ return nil , err
228+ }
229+ break
230+ }
231+ opt .Page = res .NextPage
221232
222- err = res .Body .Close ()
223- if err != nil {
224- return nil , err
233+ err = res .Body .Close ()
234+ if err != nil {
235+ return nil , err
236+ }
237+ break
225238 }
226239
227- return assets , nil
240+ return allAssets , nil
228241}
229242
230243func (g * GitHubClient ) UploadReleaseAsset (release github.RepositoryRelease , name string , file * os.File ) error {
@@ -309,7 +322,6 @@ func (g *GitHubClient) GetZipballLink(tag string) (*url.URL, error) {
309322
310323func (g * GitHubClient ) ResolveTagToCommitSHA (tagName string ) (string , error ) {
311324 ref , res , err := g .client .Git .GetRef (context .TODO (), g .owner , g .repository , "tags/" + tagName )
312-
313325 if err != nil {
314326 return "" , err
315327 }
@@ -328,7 +340,6 @@ func (g *GitHubClient) ResolveTagToCommitSHA(tagName string) (string, error) {
328340
329341 // Resolve tag to commit sha
330342 tag , res , err := g .client .Git .GetTag (context .TODO (), g .owner , g .repository , * ref .Object .SHA )
331-
332343 if err != nil {
333344 return "" , err
334345 }
0 commit comments