[rsproxy] Move rsproxy-wrap.sh to its own package

Move associated sh_wrapper, and "unit tests".
Added unit tests to verify exit-status propagating behavior.
Unit tests still need fake_resultstore_wrapper to provide
a fake ResultStore and CAS instance.

Bug: 390427892
Change-Id: I87f834e931158d64c698d69085564f8e7075fa68
Reviewed-on: https://fuchsia-review.googlesource.com/c/rsclient/+/1367679
Reviewed-by: David Dorwin <ddorwin@google.com>
Reviewed-by: David Turner <digit@google.com>
Commit-Queue: David Fang <fangism@google.com>
6 files changed
tree: 7fd276913c2f171282fc1b661bc7a7163c0bc7b6
  1. cmd/
  2. internal/
  3. scripts/
  4. tools/
  5. .bazelversion
  6. .gitignore
  7. AUTHORS
  8. BUILD.bazel
  9. cipd.yaml
  10. CONTRIBUTING.md
  11. GEMINI.md
  12. go.mod
  13. go.sum
  14. LICENSE
  15. MODULE.bazel
  16. OWNERS
  17. PATENTS
  18. README.md
  19. version.bzl
README.md

ResultStore Client Tools

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.

Developing from source

Prerequisites

  • 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.

Setup

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.

Building

To build everything:

$ bazelisk build ...

Testing

To run tests:

$ bazelisk test ...

Install

Versioning

Not yet applicable.

Releases

Not yet applicable.