[roll] Roll infra/recipes [fuchsia] Support passing specs via properties

As a first step towards getting rid of specs in favor of native
buildbucket properties, make it possible for individual builders to pass
their specs via properties instead of via a file in integration.git. A
builder will read its spec from its properties instead of from an
integration.git checkout if the `spec_remote` property is unset.

Also convert all but one unit test in each recipe to follow the
spec-from-properties codepath rather than the spec-from-integration
codepath, which makes the test declarations more similar to those from
other recipes and also shrinks the expectation files considerably.

Conveniently, deserialization of specs is handled internally by the
recipe engine during deserialization of properties, because we pass the
spec as a nested field of the properties protobuf.

Bventually we'll probably want to eliminate the concept of a "spec"
entirely from recipes by moving the spec fields up into the top level of
the properties protobuf.

Original-Bug: 77879
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/538422
Original-Revision: 54ef1280235c8266fc1baa00dd9f2bf477312c82
GitOrigin-RevId: 4b1440cd5f014397d8a9269806db29db1624297a
Change-Id: Ibb87f055b67500f786e6e60e75a524b77a2fc3a2
1 file changed
tree: e99057c583e04052047757b1362ab7a71c2deaad
  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.