Run mac test under xcode context for tester_engine

This is a reland of https://flutter-review.googlesource.com/c/recipes/+/46380, with several changes:
1) puts xcode installation under context
2) move contexts mapping logic to module, simplying logics in recipes

Affected targets all passed:
1) Mac mac_clang_tidy: https://ci.chromium.org/raw/build/logs.chromium.org/flutter/led/keyonghan_google.com/c09af196051cbd1b56cb0a993f6ec9d743eec6434a735f6c4b23ee6921eafb71/+/build.proto?server=chromium-swarm.appspot.com
2) Linux linux_web_engine: https://ci.chromium.org/raw/build/logs.chromium.org/flutter/led/keyonghan_google.com/b2d05046c0a351d146442e7bd0f653fefa4608524dd9ee2e8f5c4985356a62ca/+/build.proto?server=chromium-swarm.appspot.com
3) Linux Android Emulator Tests: https://ci.chromium.org/raw/build/logs.chromium.org/flutter/led/keyonghan_google.com/802ef4580e9b5c29e7bf6c14e20f2a4d43fbbd69d1fbf9e13c4f8b150b22aa5b/+/build.proto?server=chromium-swarm.appspot.com

Change-Id: I65023d45188870e786e261b8379bc21dc5909c85
Bug: https://github.com/flutter/flutter/issues/129366
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/46620
Reviewed-by: Ricardo Amador <ricardoamador@google.com>
Commit-Queue: Keyong Han <keyonghan@google.com>
6 files changed
tree: 7326df919dcc037f1cac0b6f334b942b103b443d
  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