Reland "[android-binary-size] Don't use upload if patch's parent rev is too new"

This is a reland of bc93b402c8cf79eb28e9278c90850bcf78304500

Now checks if the patch parent has a commit position or not (relation
chain CLs encounter this). If not, just don't use the recent upload.

Original change's description:
> [android-binary-size] Don't use upload if patch's parent rev is too new
>
> If the patch's parent revision is newer than the recent upload's
> revision, android binary size builds can fail (rare but it's been
> happening). This compares the commit position of the parent revision and
> the recent upload revision and acts accordingly.
>
> Bug: 1150510
> Change-Id: I0c04884efaa172e9ffd77f8f1fb60ad7578f6a82
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/build/+/2774430
> Reviewed-by: Andrew Grieve <agrieve@chromium.org>
> Commit-Queue: Stephanie Kim <kimstephanie@google.com>

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

Recipes

If you're here to make a change to ‘recipes’ (the code located in the recipes directory), 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.