[rsproxy] Upload pre/post build artifacts
Support uploading pre-build artifacts (e.g. build configuration files)
and post-build artifacts (e.g. various metrics and logs).
resultstore.go: create MergeInvocation requests from file-lists.
Enqueue files for uploading, where the RE-CAS takes care of
computing digests.
Test: run alongside ninja --resultstore_output --pre_build_uploads=... \
--post_build_uploads=...
Bug: 369980343
Change-Id: I754707402375db4c6ff1076d9e618efdf870b346
Reviewed-on: https://fuchsia-review.googlesource.com/c/rsclient/+/1342081
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.