[roll] Roll fuchsia Reland "[build][go] Only touch output of go_build() when binary is different"

This is a reland of commit c36f3dfcef02a56dd5ca08bfafa9a734abb8e05b

This is landing after http://fxrev.dev/948694 removes the generation of
breakpad sym files for Go binaries, as they couldn't be used, anyways.

Original change's description:
> [build][go] Only touch output of go_build() when binary is different
>
> This changes the python script used by go_build() to only replace the GN
> output when the file is different, instead of the Go-compiler default
> of always overwriting the existing file.
>
> When host binaries are unchanged, any compiled_action() that uses the
> binary will not be run, unless other inputs have also changed.  Ninja
> will prune the action from the tree after it runs the compilation step
> and sees that the binary didn't change.
>
> In particular, this should save the 90-second 'makefuchsia' action from
> being run on every incremental build in CI/CQ, after Ninja determines
> that the 'makefuchsia' and 'makeroot' binaries are unchanged.
>
> Original-Bug: b/311077637
>
> Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/946837

Original-Bug: b/311077637
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/948586
Original-Revision: ef85be98fc08644f734aeaf357359b9fd75f383b
GitOrigin-RevId: 260b4bbf92d223a678c8d1a5672d3ff3db587a85
Change-Id: Ifc8d26e0a26e6bcb7943331d36086b16281845f7
1 file changed
tree: e38c4c59513c2f5e2b32ef55bc38a1f6d3695230
  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.