[CP] Adds versioned xcode support

This CL does
1) cleans up doc following https://flutter-review.googlesource.com/c/infra/+/42061
2) stops `remove_runtime`
3) installs `runtime` to the same cache path `osx_sdk` to make it sharable across builds. (the old way has never worked as expected due to incorrect cache path config)
4) installs `runtime` one time and copies to destination dir one time
5) cleans cache only when specified (removing cache clean when runtime is required)

A series of LED validation is listed in the doc:
https://docs.google.com/document/d/1EcXm4Woq48GR_ky07mEJka6NfV1vFBN2OHDEeGfPk34/edit?resourcekey=0-0Gjtt1I66mGJ8AwiCTlFNw#heading=h.v9tje5e0dl78

This CL will cause fresh xcode installation on all bots. The good thing is this is a one-time change. I will send a PSA before landing.

Bug: https://github.com/flutter/flutter/issues/117541
Change-Id: I177b6bf48571acc85295f7bab69c42e3afc5811c
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/42160
Commit-Queue: Keyong Han <keyonghan@google.com>
Reviewed-by: Ricardo Amador <ricardoamador@google.com>
Reviewed-by: Yusuf Mohsinally <mohsinally@google.com>
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/42700
Reviewed-by: Keyong Han <keyonghan@google.com>
Commit-Queue: Casey Hillers <chillers@google.com>
118 files changed
tree: 4729d9df904e644231782e343cd8c78a27379476
  1. infra/
  2. recipe_modules/
  3. recipes/
  4. .gitignore
  5. .style.yapf
  6. AUTHORS
  7. LICENSE
  8. OWNERS
  9. README.md
  10. recipes.py
README.md

Flutter LUCI Recipes

This repository contains Flutter's LUCI recipes. For the LUCI infrastructure config, see flutter/infra. Actual builds can be seen at ci.chromium.org.

Supported repositories roll their .ci.yaml into flutter/infra, which updates what properties builds have. For example, flutter config specifies various dependencies the different tests require, which are then used by the flutter_deps recipe_module No modifications to flutter/infra are required to work on the recipes.

Configuration

Tricium configurations recipes repo.

Testing locally

Running python recipes.py test train will execute all of the tests in this repository

Troubleshooting

Required binary is not found on PATH: cipd when testing locally

You need to ensure depot_tools is installed. See Depot Tools Installation Tutorial