From b4c5184cefe43fdc54b1ad5c8a1970f104137644 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sun, 10 Oct 2021 14:31:30 +0100 Subject: [PATCH] fix(release): publish arguments are not handled as asset files to upload --- pkg/cli/release.go | 7 ++++++- pkg/release/publish.go | 11 ++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/pkg/cli/release.go b/pkg/cli/release.go index a51dc81..4de46d8 100644 --- a/pkg/cli/release.go +++ b/pkg/cli/release.go @@ -191,6 +191,10 @@ func releasePublishAction( return fmt.Errorf("invalid --type \"%s\"", rlsType) } + if c.Args().Len() > 0 { + rlsOpts.AssetFiles = c.Args().Slice() + } + if rOpts.Plan != nil { rlsOpts.Source = rOpts.Plan.Source @@ -205,7 +209,8 @@ func releasePublishAction( } } - if rOpts.Plan.Output != nil { + // Set asset files based on plan if no file arguments were given. + if len(rlsOpts.AssetFiles) == 0 && rOpts.Plan.Output != nil { rlsOpts.AssetFiles = []string{ filepath.Join( rOpts.Plan.Output.Directory, diff --git a/pkg/release/publish.go b/pkg/release/publish.go index ea61c2b..81ae6fd 100644 --- a/pkg/release/publish.go +++ b/pkg/release/publish.go @@ -237,7 +237,7 @@ func uploadReleaseAssets( } func publishFileList(files []string) ([]string, error) { - var output []string + results := map[string]struct{}{} for _, file := range files { var err error file, err = filepath.Abs(file) @@ -253,7 +253,7 @@ func publishFileList(files []string) ([]string, error) { return nil, fmt.Errorf("\"%s\" is not a file", file) } - output = append(output, file) + results[file] = struct{}{} sumFile := file + ".sha256" _, err = os.Stat(sumFile) @@ -264,7 +264,12 @@ func publishFileList(files []string) ([]string, error) { return nil, err } - output = append(output, sumFile) + results[sumFile] = struct{}{} + } + + var output []string + for f := range results { + output = append(output, f) } return output, nil