[Binary Size] Add bot support for size config JSON file.

This CL updates binary_size recipe module to use size config JSON files,
which were introduced in crrev.com/c/2518126. This is the "new flow"
that will replace the "old flow" that uses AndroidProperties with
{apk_name, mapping_names}.

Details:
* Add |size_config_json| to message InputProperties.
  * Keep the new flow dormant (and old flow active) by NOT specifying
    a default value.
  * Update tests so both old and new flows are invoked.
* Add "version string" to LATEST file uploaded to gs://. This allows
  "significant binary package restructure" to be indicated by changing
  the "version" value in size config JSON files.
* Implement "version string" reading, to detect "significant binary
  package restructure", which causes the latest gs:// file to go stale,
  to prevent transient trybot glitches from caching.

Bug: 1040645
Change-Id: Ib00c1307aa3e97beb9aeb6c80a5129842f7014f0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/build/+/2518731
Reviewed-by: Garrett Beaty <gbeaty@chromium.org>
Reviewed-by: Stephanie Kim <kimstephanie@google.com>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Samuel Huang <huangs@chromium.org>
7 files changed
tree: 0ad8aac234af25de8c86e6ccc954cd85fe4ea392
  1. infra/
  2. recipes/
  3. scripts/
  4. site_config/
  5. third_party/
  6. .gitattributes
  7. .gitignore
  8. .style.yapf
  9. .vpython
  10. .yapfignore
  11. codereview.settings
  12. CROS_OWNERS
  13. DEPS
  14. environment.cfg.py
  15. LICENSE
  16. OWNERS
  17. PRESUBMIT.py
  18. README.md
  19. WATCHLISTS
README.md

Recipes

If you're here to make a change to ‘recipes’ (the code located in scripts/slave/recipes*), please take a look at the README for more information pertaining to recipes.

Style

The preferred style is PEP8 with two-space indent; that is, the Chromium Python style. Functions use lowercase_with_underscores, with the exception of the special functions RunSteps and RunTests in recipes. Use yapf (git cl format --no-clang-format) to autoformat new code.