[roll] Roll fuchsia [fx][bazel] Ensure proper Ninja build plan regeneration.

`fx bazel` first check whether the Ninja build plan needs
to be regenerated before rebuilding the workspace.

The regeneration itself was performed directly in update_workspace.py
by invoking Ninja, but didn't define environment variables in the
same way as `fx build`, resulting problems, such as broken RBE-enabled
builds when invoking `fx bazel` just after modifying a `BUILD.gn`
file.

This CL fixes the issue by doing the following:

- Moving the fast 'build plan freshness' check to its own
  Python script, invoked from `fx bazel`.

- Ensure that `fx build` is called to regenerate the build plan
  if needed, to ensure consistent environment variables in
  all cases.

+ Ensure `fx-rbe-enabled` is not called twice by `fx build`
  when `--fint-params` is not used (the function is already
  called by `fx-run-ninja` defined lib `lib/vars.sh`.

Manual testing:

  1) Ensure your have RBE enabled in your args.gn

  2) `touch BUILD.gn`, to force a Ninja regen on the next invocation.

  3) `fx bazel`, which will launch the regen operation before
     invoking Ninja.

Before this CL, step 3) would print many Ninja errors such as:
```
../../build/rbe/reclient_cxx.sh: line 112: RBE_server_adress: unbound variable
```

This does not happen after the CL, because the environment variable
is correctly defined when invoking Ninja.

Original-Bug: b/315393497
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/957556
Original-Revision: 8cf98c6678802b960c45dd607e4869d3f7740e93
GitOrigin-RevId: 9a953d2724adddc3b2bf3655cb8ed480a8815ab8
Change-Id: Icb177d5ec7b6d1be40cb03a666699d20ec2efe9d
1 file changed
tree: 15b6de681ced70b839047d292f337fd8bb6aec47
  1. git-hooks/
  2. infra/
  3. third_party/
  4. cts
  5. firmware
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
  14. toolchain
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 via the IRC channel #fuchsia on Freenode.

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.