[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
This repository contains Fuchsia's Global Integration manifest files.
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.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.