@@ -307,6 +307,24 @@ func (pushService *pushService) uploadReleaseAsset(release *github.RepositoryRel
307307 return asset , response , nil
308308}
309309
310+ func (pushService * pushService ) uploadAsset (release * github.RepositoryRelease , assetPathStat os.FileInfo ) (* github.Response , error ) {
311+ assetFile , err := os .Open (pushService .cacheDirectory .AssetPath (release .GetTagName (), assetPathStat .Name ()))
312+ if err != nil {
313+ return nil , errors .Wrap (err , "Error opening release asset." )
314+ }
315+ defer assetFile .Close ()
316+ progressReader := & ioprogress.Reader {
317+ Reader : assetFile ,
318+ Size : assetPathStat .Size (),
319+ DrawFunc : ioprogress .DrawTerminalf (os .Stderr , ioprogress .DrawTextFormatBytes ),
320+ }
321+ if err != nil {
322+ return nil , errors .Wrap (err , "Error opening release asset." )
323+ }
324+ _ , response , err := pushService .uploadReleaseAsset (release , assetPathStat , progressReader )
325+ return response , err
326+ }
327+
310328func (pushService * pushService ) createOrUpdateReleaseAsset (release * github.RepositoryRelease , existingAssets []* github.ReleaseAsset , assetPathStat os.FileInfo ) error {
311329 attempt := 0
312330 for {
@@ -327,20 +345,7 @@ func (pushService *pushService) createOrUpdateReleaseAsset(release *github.Repos
327345 }
328346 }
329347 log .Debugf ("Uploading release asset %s..." , assetPathStat .Name ())
330- assetFile , err := os .Open (pushService .cacheDirectory .AssetPath (release .GetTagName (), assetPathStat .Name ()))
331- if err != nil {
332- return errors .Wrap (err , "Error opening release asset." )
333- }
334- defer assetFile .Close ()
335- progressReader := & ioprogress.Reader {
336- Reader : assetFile ,
337- Size : assetPathStat .Size (),
338- DrawFunc : ioprogress .DrawTerminalf (os .Stderr , ioprogress .DrawTextFormatBytes ),
339- }
340- if err != nil {
341- return errors .Wrap (err , "Error opening release asset." )
342- }
343- _ , response , err := pushService .uploadReleaseAsset (release , assetPathStat , progressReader )
348+ response , err := pushService .uploadAsset (release , assetPathStat )
344349 if err == nil {
345350 return nil
346351 } else {
0 commit comments