From 2c5125a5a664a74986947104b407fd256de8c879 Mon Sep 17 00:00:00 2001 From: Rick Ducott Date: Mon, 4 Mar 2019 14:15:57 -0500 Subject: [PATCH] Fix shasum (#42) * Test better shasum * Fix sha file basename * Try hex encoding * Add newline * Changelog --- changelog/v0.2.11/fix-sha-to-match-shasum.yaml | 4 ++++ githubutils/upload_release_asset.go | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 changelog/v0.2.11/fix-sha-to-match-shasum.yaml diff --git a/changelog/v0.2.11/fix-sha-to-match-shasum.yaml b/changelog/v0.2.11/fix-sha-to-match-shasum.yaml new file mode 100644 index 00000000..3078f8d2 --- /dev/null +++ b/changelog/v0.2.11/fix-sha-to-match-shasum.yaml @@ -0,0 +1,4 @@ +changelog: + - type: FIX + description: Fixes the sha upload in `UploadReleaseAssetsCli` to upload a checksum for `foo` that matches the output of `shasum -a 256 foo > foo.sha256`. + issueLink: https://github.com/solo-io/go-utils/issues/41 \ No newline at end of file diff --git a/githubutils/upload_release_asset.go b/githubutils/upload_release_asset.go index e94639e3..6594d2be 100644 --- a/githubutils/upload_release_asset.go +++ b/githubutils/upload_release_asset.go @@ -3,6 +3,7 @@ package githubutils import ( "context" "crypto/sha256" + "encoding/hex" "github.com/google/go-github/github" "github.com/solo-io/go-utils/contextutils" "github.com/solo-io/go-utils/versionutils" @@ -84,8 +85,8 @@ func writeSha256OrExit(ctx context.Context, file *os.File, outputPath string) { if _, err := io.Copy(h, file); err != nil { contextutils.LoggerFrom(ctx).Fatal(err) } - sha256 := h.Sum(nil) - err := ioutil.WriteFile(outputPath, sha256, 0700) + sha256String := hex.EncodeToString(h.Sum(nil)) + " " + filepath.Base(file.Name()) + "\n" + err := ioutil.WriteFile(outputPath, []byte(sha256String), 0700) if err != nil { contextutils.LoggerFrom(ctx).Fatal(err) }