sweet: avoid a temporary file by streaming file contents in "put"

Currently `sweet put` is very inefficient: it completely compresses and
archives assets into a temporary file, then uploads it, then hashes it.
There's no reason this can't all be done while streaming from the start,
and it saves a ton of temporary disk space (currently, assets are around
4.7 GiB in size).

While we're here, this change also removes the -public flag from the put
subcommand. The GCS bucket's access granularity is bucket-wide so it
doesn't even make any sense.

Change-Id: I78b6720407b0b922c349a9569bf3d1d0df88047c
Reviewed-on: https://go-review.googlesource.com/c/benchmarks/+/382654
Trust: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Pratt <mpratt@google.com>
3 files changed