Reland: Simplify ruby and gems dependency.

This CL implements the following improvements:

* Removes complexity of gems installation using a single code path to
  install and setup ruby.
* Fixes support for ruby arm64.
* Avoids the xcode ruby dependency.
* Generalizes gems path calculation to support multiple version of ruby
  simultaneously.

Bug: https://github.com/flutter/flutter/issues/65888
Bug: https://github.com/flutter/flutter/issues/113231
Change-Id: I6a290401dc5bbc118a7b369f856a429ed6f67460
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/38088
Reviewed-by: Yusuf Mohsinally <mohsinally@google.com>
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
5 files changed
tree: f958c947d91188f55bf757d3b510988b94823870
  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