[python3] Many changes

Explicitly mark all recipes and modules as compatible only with
Python 2. Change 'PY2' to 'PY2+3' when './recipes.py test train' should
block on Python 3 failures.

Replaced xrange() with range() and iteritems()/iterkeys()/itertools()
with items()/keys()/values(). Also sorting results of these in a few
places and using OrderedDict() in others so expectation files are more
likely to match between Python 2 and Python 3.

Change-Id: I752dd0d42869c419b09ce02c55c5957d57821bcf
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/18465
Reviewed-by: Godofredo Contreras <godofredoc@google.com>
Commit-Queue: Rob Mohr <mohrr@google.com>
77 files changed
tree: f3eb5a506401d5aa1ac6d3db824c05af258b7aa7
  1. infra/
  2. recipe_modules/
  3. recipes/
  4. .gitignore
  5. .style.yapf
  6. AUTHORS
  7. branch_recipes.py
  8. cat
  9. LICENSE
  10. OWNERS
  11. README.md
  12. 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.

Recipe Branching for Releases

The script branch_recipes.py is used to generate new copies of the LUCI recipes for a beta release. See Recipe Branching for Releases for more information. For usage:

$ ./branch_recipes.py --help