[roll] Roll infra/recipes [artifact_versioning] Use artifact metadata as...

...the source of truth for the artifact's name and add consistency
checks against version and repository values within metadata.

Assembly as a service bisection relies on the fact that artifact
identifiers (repository, version, name) reported to MOS are consistent
with the aritfact's internal metadata for a functional bisection CLI
frontend.

That said the artifact metadata-values of repository and version are
only known during artifact registration, but not version registration
(it's not feasible to get artifact metadata associated with the previous
release at version declaration time).
Our solution here is to use the fixed repository names "fuchsia" and
"android", and the raw release version number (eg: "0.20200101.1.2" and
"13790231") in the artifact metadata, adding checks to ensure these
values are consistent with infrastructure.

This CL modifies the `artifact_versioning` recipe module to become aware
of artifact metadata and changes its interface to use `str`s instead of
`ReleaseVersion`s, since we won't have `ReleaseVersion`s when dealing
with versioned android artifacts.

Original-Bug: 422540705
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1323944
Original-Revision: e4ab7330c9af06e1e4147822651164740c455a2b
GitOrigin-RevId: 974798674d7962e2d6d453a937824960ec0a32fb
Change-Id: Id3dc0c0730d81bbc55c1070c150d2f8c29f3e7a9
1 file changed
tree: b7068b9d79ef2426e8090cee5df2c3f7b9b32447
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. flower
  6. jiri.lock
  7. MILESTONE
  8. minimal
  9. prebuilts
  10. README.md
  11. stem
  12. 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 in one of the communication channels documented at get involved.

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.