[roll] Roll fuchsia [build] Ensure `fx build` works with action tracing

When setting `build_should_trace_actions=true` in `args.gn` to
enable action tracing, the `fx build` command will fail because
some dart tools read from or write to `out/default/.dart/dartdev.json`,
which isn't listed as a valid input or output by any action.

This comes from the `dartdev` library which uses '$HOME/.dart' to
store various settings, and `hermetic-env` (used by `fx build`)
that sets up an environment without HOME defined!

As a consequence, dartdev writes to the current directory,
i.e. the build directory, hence the illegal access caught by the
action tracer.

This does not happen when using `fx ninja -C out/default` directly,
which is what our infra bots do use (through `fint`). Hence why they
never see this error.

This CL adds an exception to the action tracer to ignore accesses
to '${root_build_dir}/.dart'. An alternative would be to modify
`hermetic-env` to setup a fake HOME directory, but this allows
future actions in the build to write silenty to it without being
detected, which is undesirable.

For testing, `build/tracer/action_tracer_test.py` was run successfully,
as well as `fx build` with action tracing enabled.

Original-Bug: None
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/582641
Original-Revision: 32a781b76d646b4e777501bb766c8657bdbb97df
GitOrigin-RevId: db49ea83b24d68a9d589cde5e29755eaefee4a34
Change-Id: Iff5f6b97e4b85fc576eae390bd8d98845e696e2d
1 file changed
tree: ecd48fc990117090abe0e4c6a17c7df5f6a60828
  1. garnet/
  2. infra/
  3. peridot/
  4. third_party/
  5. topaz/
  6. zircon/
  7. firmware
  8. flower
  9. jiri.lock
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. 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 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.