[roll] Roll fuchsia [fx] Ensure `fx bazel` runs with the right RBE wrappers.

Refactor fx-run-ninja into a new fx-run-build-command  function
which can be used to either run Ninja or Bazel commands in the
same way, which means:

- Setting environment variables properly for remote builds to work.
- Prepending an RBE wrapper script if needed.
- Collect system profile data if BUILD_PROFILE_ENABLED is set.

Then ensure that fx-bazel uses fx-run-build-command to run
Bazel. This fixes an issue where the command:

```
fx bazel build --config=host --config=remote //build/bazel/examples/hello_world
```

Would fail with:

```
ERROR: Failed to query remote execution capabilities: UNAVAILABLE: Credentials failed to obtain metadata
ERROR: ..../hello_world/BUILD.bazel:5:10: Compiling build/bazel/examples/hello_world/main.cc failed: (Exit 34): UNAVAILABLE: Credentials failed to obtain metadata
```

This also makes `fx bazel` invocations closer to how Bazel is
invoked from Ninja through bazel_action() and bazel_action.py,
though more work is needed to get a better match.

+ Simplify template.bazelrc a little since now cquery and aquery
  commands properly inherit "build" settings.

+ Ensure gcertauth also works with query commands. Otherwise
  `fx bazel query ...` would fail with an error, because our
  launcher script appends `--config=gcertauth` to all commands.

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1269984
Original-Revision: 57d7534d77437a8cab9c0d68693677ab67b827fc
GitOrigin-RevId: 52392b55644bc25ab3611b6036eb9cd502806443
Change-Id: If743301a907f6a53bee666e3c703cdbe486794f8
1 file changed
tree: 6caf75018c78a060363a9a8bd009a45ffec1acbd
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. flower
  6. jiri.lock
  7. MILESTONE
  8. minimal
  9. prebuilts
  10. README.md
  11. stem
  12. 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.