Fix xcode cache cleanup

The old logic cleans up xcode cache when xcode path exists but runtime path doesn't. This misses the case where the runtime path exists but missing some files (not able to finish copying).

This CL uses `xcrun simctl list runtimes` as the source of truth of xcode cache pollution. If it outputs no runtime, then we are sure the xcode is installed in an incomplete state.

Change-Id: Ic98dc1fefeb22f03e5090dc7145ace7e0c14e49b
Bug: https://github.com/flutter/flutter/issues/125273
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/44761
Reviewed-by: Ricardo Amador <ricardoamador@google.com>
Commit-Queue: Keyong Han <keyonghan@google.com>
127 files changed
tree: ac78a53911e02ccabcac69064dc13ca2552f97d3
  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