[roll] Roll fuchsia [rbe] Support remote != local command

Distinguish between remote-only and local-only commands.
Accept both, while still defaulting to remote == local commands.

Sometimes the command for remote execution is modified so that
it cannot run locally, but it is expected to produce the same result.
For example, with remote-cross-compiling, the remote request's command
might use a binary for the remote execution platform, which is not
suitable for local host execution.

Special handling for local fallback: when the remote and local commands
differ and rewrapper failed in one of the local execution modes,
retry with the local command we were given if it is different from the
remote one we gave to rewrapper.

Not applying this to racing mode because rewrapper will ignore local
failures if the remote one succeed.

--compare mode will use the correct local command when it is different
than the remote command.  This helps verify that different commands
indeed produce the same results.

When local and remote execution results differ AND the commands differ,
show the unified diff of those commands.

Original-Bug: 105799

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/845016
Original-Revision: 38a079fcbcdc99e35e8537bf5d95fdbcb7d988ca
GitOrigin-RevId: a919eba7ac2bf4bd9ef611a3ca4227d0cf741d81
Change-Id: I4f0acfe42ac43b34d583310bc48a523cf2154071
1 file changed
tree: 0aeb5467658366b1085f411d6f4d89999b56a9cf
  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.