temp(internal/releaser): update interface method Uploadassets

This commit is contained in:
fwiedmann
2019-07-09 01:46:31 +02:00
parent 3ad20b2d00
commit 9175d6cc49
3 changed files with 31 additions and 37 deletions

View File

@@ -113,38 +113,21 @@ func (g Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedCh
} }
// UploadAssets uploads specified assets // UploadAssets uploads specified assets
func (g Client) UploadAssets(assets []config.Asset) error { func (g Client) UploadAssets(repoDir string, assets []config.Asset) error {
for _, asset := range assets { filesToUpload, err := util.PrepareAssets(repoDir, assets)
if asset.Compress { if err != nil {
zipName, err := util.ZipFile(g.config.Repo, asset.Name) return err
}
for _, f := range filesToUpload {
file, err := os.Open(*f)
if err != nil { if err != nil {
return err return err
} }
file, err := os.Open(g.config.Repo + zipName) _, resp, err := g.client.Repositories.UploadReleaseAsset(g.context, g.config.User, g.config.Repo, *g.release.ID, &github.UploadOptions{Name: ""}, file)
if err != nil {
return err
}
defer file.Close()
_, resp, err := g.client.Repositories.UploadReleaseAsset(g.context, g.config.User, g.config.Repo, *g.release.ID, &github.UploadOptions{Name: zipName}, file)
if err != nil {
return err
}
if resp.StatusCode >= http.StatusBadRequest {
return fmt.Errorf("releaser: github: Could not upload asset %s: %s", zipName, resp.Status)
}
} else {
file, err := os.Open(asset.Name)
if err != nil {
return err
}
defer file.Close()
_, resp, err := g.client.Repositories.UploadReleaseAsset(g.context, g.config.User, g.config.Repo, *g.release.ID, &github.UploadOptions{Name: file.Name()}, file)
if err != nil { if err != nil {
log.Debug("lol")
return err return err
} }
@@ -152,6 +135,6 @@ func (g Client) UploadAssets(assets []config.Asset) error {
return fmt.Errorf("releaser: github: Could not upload asset %s: %s", file.Name(), resp.Status) return fmt.Errorf("releaser: github: Could not upload asset %s: %s", file.Name(), resp.Status)
} }
} }
}
return nil return nil
} }

View File

@@ -19,7 +19,7 @@ type Releasers struct {
type Releaser interface { type Releaser interface {
ValidateConfig() error ValidateConfig() error
CreateRelease(*shared.ReleaseVersion, *shared.GeneratedChangelog) error CreateRelease(*shared.ReleaseVersion, *shared.GeneratedChangelog) error
UploadAssets(assets []config.Asset) error UploadAssets(repoDir string, assets []config.Asset) error
GetCommitURL() string GetCommitURL() string
GetCompareURL(oldVersion, newVersion string) string GetCompareURL(oldVersion, newVersion string) string
} }

View File

@@ -9,6 +9,7 @@ import (
"github.com/Nightapes/go-semantic-release/internal/changelog" "github.com/Nightapes/go-semantic-release/internal/changelog"
"github.com/Nightapes/go-semantic-release/internal/gitutil" "github.com/Nightapes/go-semantic-release/internal/gitutil"
"github.com/Nightapes/go-semantic-release/internal/releaser" "github.com/Nightapes/go-semantic-release/internal/releaser"
"github.com/Nightapes/go-semantic-release/internal/releaser/util"
"github.com/Nightapes/go-semantic-release/internal/shared" "github.com/Nightapes/go-semantic-release/internal/shared"
"github.com/Nightapes/go-semantic-release/pkg/config" "github.com/Nightapes/go-semantic-release/pkg/config"
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
@@ -245,11 +246,21 @@ func (s *SemanticRelease) Release(force bool) error {
return err return err
} }
if err = releaser.UploadAssets(s.config.Assets); err != nil { if err = releaser.UploadAssets(s.repository, s.config.Assets); err != nil {
return err return err
} }
return nil return nil
} }
// ZipFiles zip files configured in release config
func (s *SemanticRelease) ZipFiles() error {
for _, file := range s.config.Assets {
if file.Compress { if file.Compress {
if _, err := util.PrepareAssets(s.repository, s.config.Assets); err != nil {
return err
}
}
}
return nil
}