[roll] Roll fuchsia [rbe][resultstore] Establish service profile JSON

Establish schema files for existing default RBE/ResultStore
configurations, along with strongly-typed Python dataclass loaders
and subcommand executables.

Designed using a dual-use script architecture:
  1. Python Library: Exposes `Profile` and a strictly pure `load()`
     entrypoint to compiler wrappers and orchestrators, shielding
     them from JSON parsing and on-disk lookup details.
  2. Standalone CLI: Implements a fast, secure, subcommand-based
     interface ('list', 'select', 'active') to manage active
     sticky profiles, avoiding complex Bash logic inside Vars.sh.

- Created build/rbe/profiles and build/resultstore/profiles
  directories with default JSON definitions.
- rbe_profile.py and rs_profile.py:
  - load() resolves, parses, and instantiates the active
    profile in a strictly pure, side-effect-free manner.
  - to_env_dict() serializes profile attributes into standard,
    encapsulated environment variables.
  - Internalized all on-disk directory lookups and sticky name
    lookups behind private-prefixed helper functions.

Original-Original-Bug: 563397434

Original-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1839410
Original-Original-Revision: 529fa1ecc7acd4b4b4bc645208b8f2c67f1bbe49
GitOrigin-RevId: 6ed853854bcd551436f1e9904d24f9a7c9683b08
Change-Id: I5a0bf82760d922af4b35f4ebc5b551d087ff71aa
Reviewed-on: https://fuchsia-review.googlesource.com/c/integration/+/1883855
Cr-Commit-Position: refs/heads/main@{#205531}
1 file changed
tree: 78e5b7b927a924e932d3256c2db1542c3af31e43
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cobalt
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.