Do a git clean of all repositories in the builder cache when building a release branch

This should leave the repositories in a clean state while avoiding the cost of clobbering the entire cache and downloading the repositories.

The cache may be in a state where it can not run the gclient command and execute the git clean.  If that happens, then fall back to clobbering the cache.

See https://github.com/flutter/flutter/issues/170071

Change-Id: I35d9c2b6ef532c7032c27e00d989f43e6738e6ec
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/66360
Reviewed-by: Matan Lurey <matanl@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
Reviewed-by: John McDole <codefu@google.com>
14 files changed
tree: ebe26e771c9cb406ee0a368da29fc14319188db7
  1. .vscode/
  2. infra/
  3. recipe_modules/
  4. recipes/
  5. .gitignore
  6. .style.yapf
  7. AUTHORS
  8. CONTRIBUTING.md
  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. Builds can be found in the Flutter Dashboard.

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.

Contributing

Please follow instructions on Contributing docs to set up your development environment.