From e264bc826e1d5815fba4e48d224c305cf5b3675b Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Thu, 29 Dec 2016 14:17:49 -0200 Subject: [PATCH] multiple uploads --- release/release.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/release/release.go b/release/release.go index 60fa34224..7156bd445 100644 --- a/release/release.go +++ b/release/release.go @@ -11,6 +11,7 @@ import ( "github.com/goreleaser/releaser/uname" "golang.org/x/oauth2" "os/exec" + "golang.org/x/sync/errgroup" ) func Release(version, diff string, config config.ProjectConfig) error { @@ -32,14 +33,17 @@ func Release(version, diff string, config config.ProjectConfig) error { if err != nil { return err } + var g errgroup.Group for _, system := range config.Build.Oses { for _, arch := range config.Build.Arches { - if err := upload(client, *r.ID, owner, repo, system, arch, config.BinaryName); err != nil { - return err - } + system := system + arch := arch + g.Go(func() error { + return upload(client, *r.ID, owner, repo, system, arch, config.BinaryName) + }) } } - return nil + return g.Wait() } func description(diff string) string {