[rsproxy] Support log uploading to CAS client.go: Client gains a cas sub-client for uploading logs as blobs. Credentials have moved back from the ResultStoreUploader to the Client, but are effectively passed through via the rpcOpts callback function. Add a separate service connection for uploading to the RBE CAS. resultstore.go: ResultStoreUploader now uses a blobUploader callback function set by the parent client for CAS RPCs. flags.go: support creating a client with separate service connections for ResultStore and RBE CAS. Test: go/fxbtx-dev/1e55e20d-8aae-479b-8cc1-74ff717a7301/targets/:default/log Bug: 390427892 Change-Id: Ic5369d6039ebab55cff8ec128dd8c79b2a3f00b9 Reviewed-on: https://fuchsia-review.googlesource.com/c/rsclient/+/1342067 Commit-Queue: David Fang <fangism@google.com> Reviewed-by: Jay Zhuang <jayzhuang@google.com>
The rsclient repository contains tools that support the use of ResultStore services and API.
rsproxy acts as a bridge between build tools and the ResultStore service.
The first supported build tool is Fuchsia's fork of ninja.
rsclient builds with Bazel. We recommend using Bazelisk to use the version of Bazel currently supported by this code base.rsclient is supported for Linux, and is yet untested on other platforms.
Before working with the code base, we recommend installing the precommit hook once per git clone with:
./scripts/install_precommit.sh
This runs a variety of checks and automatic regeneration steps for you before committing local changes.
To build everything:
$ bazelisk build ...
To run tests:
$ bazelisk test ...
Not yet applicable.
Not yet applicable.