From 3c00db9e36424efac62d85ad3273e83f3b6d1116 Mon Sep 17 00:00:00 2001 From: Neil Hanlon Date: Mon, 11 Mar 2024 12:02:13 -0400 Subject: [PATCH] fix: don't encode bytes if we don't have to --- peridot/cmd/v1/peridot/BUILD.bazel | 2 +- peridot/cmd/v1/peridot/build_rpm_import.go | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/peridot/cmd/v1/peridot/BUILD.bazel b/peridot/cmd/v1/peridot/BUILD.bazel index 08220ce4..d91c4915 100644 --- a/peridot/cmd/v1/peridot/BUILD.bazel +++ b/peridot/cmd/v1/peridot/BUILD.bazel @@ -65,7 +65,7 @@ pkg_rpm( license = "MIT", summary = "Peridot Command Line Interface", version = "0.2.1", - release = "0", + release = "1", architecture = "x86_64", description = "A command line interface to interact with the Peridot build system", source_date_epoch = 0, diff --git a/peridot/cmd/v1/peridot/build_rpm_import.go b/peridot/cmd/v1/peridot/build_rpm_import.go index fe715f43..307ce1ff 100644 --- a/peridot/cmd/v1/peridot/build_rpm_import.go +++ b/peridot/cmd/v1/peridot/build_rpm_import.go @@ -31,13 +31,14 @@ package main import ( + "crypto/sha256" "encoding/base64" + "encoding/hex" "log" "os" "strings" "time" - "crypto/sha256" - "encoding/hex" + "github.com/spf13/cobra" "openapi.peridot.resf.org/peridotopenapi" ) @@ -74,12 +75,12 @@ func isFile(path string) bool { return true } -func buildRpmImportMn(c *cobra.Command, args []string) { +func buildRpmImportMn(_ *cobra.Command, args []string) { // Ensure project id exists projectId := mustGetProjectID() - var skipUpload bool = false - var skipImport bool = false + var skipUpload = false + var skipImport = false if skipStep != "" { switch strings.ToLower(skipStep) { @@ -103,19 +104,22 @@ func buildRpmImportMn(c *cobra.Command, args []string) { var blobs []string projectCl := getClient(serviceProject).(peridotopenapi.ProjectServiceApi) for _, arg := range args { + bts, err := os.ReadFile(arg) errFatal(err) - base64EncodedBytes := base64.StdEncoding.EncodeToString(bts) + hash := sha256.Sum256(bts) shasum := hex.EncodeToString(hash[:]) if !skipUpload { + base64EncodedBytes := base64.StdEncoding.EncodeToString(bts) _, _, err := projectCl.LookasideFileUpload(getContext()).Body(peridotopenapi.V1LookasideFileUploadRequest{ File: &base64EncodedBytes, }).Execute() errFatal(err) log.Printf("Uploaded %s to lookaside", arg) } + log.Printf("Will upload %s to lookaside for %s", shasum, arg) blobs = append(blobs, shasum) }