[roll] Roll fuchsia [rbe][cxx][rust] re-wire determinism check

--local execution wasn't honoring --check-determinism correctly.

We still need the wrapper logic from `cxx.py:CxxAction`
and `rustc.py:RustAction` to compute the set of outputs automatically,
hence keeping the check determinism driver in these remote wrappers.

output_cacher.py (--check-determinism):
* now call detail-diff.sh when any difference is found
* sleep 1s before the second run to catch clock-time differences (that
  contain 1s resolution).

Example output:
```
[cxx_remote_wrapper.py] Running the original compile command locally twice and comparing outputs.
Repeating command produces different results:
  obj/third_party/openthread/src/core/api/libopenthread-ftd.instance_api.cpp.o vs. obj/third_party/openthread/src/core/api/tmp-libopenthread-ftd.instance_api.cpp.o
objdump-diff (first 25 lines):
diff -u <(../../prebuilt/third_party/clang/linux-x64/bin/llvm-objdump --full-contents obj/third_party/openthread/src/core/api/libopenthread-ftd.instance_api.cpp.o) <(../../prebuilt/third_party/clang/linux-x64/bin/llvm-objdump --full-contents obj/third_party/openthread/src/core/api/tmp-libopenthread-ftd.instance_api.cpp.o)

--- obj/third_party/openthread/src/core/api/libopenthread-ftd.instance_api.cpp.o.llvm-objdump.local	2023-06-07 23:35:29.113182273 +0000
+++ obj/third_party/openthread/src/core/api/libopenthread-ftd.instance_api.cpp.o.llvm-objdump.remote	2023-06-07 23:35:29.121183116 +0000
@@ -246,7 +246,7 @@
 Contents of section .rodata._ZZ18otGetVersionStringE8sVersion:
  0000 4f50454e 54485245 41442f31 2e302e30  OPENTHREAD/1.0.0
  0010 3b204e4f 4e453b20 4a756e20 20372032  ; NONE; Jun  7 2
- 0020 30323320 32333a33 353a3239 00        023 23:35:29.
+ 0020 30323320 32333a33 353a3237 00        023 23:35:27.
 Contents of section .debug_abbrev:
  0000 01110125 25130503 25721710 171b2511  ...%%...%r....%.
  0010 01552373 17741700 00022e01 111b1206  .U#s.t..........
```

Original-Bug: 128466
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/867738
Original-Revision: 3ac199a678442b5ef7995415c3410b0976b4d04c
GitOrigin-RevId: f96517041d71495e44fb3bbd5b99d47cdd946770
Change-Id: I609a4fa559ab47116773b48d4b36e37afef752c5
1 file changed
tree: f0c400dc267b8599de9b956564a7e5bd3f0fa464
  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.