Revert "This cl introduces a cache micro manager that will run cleanup primarily for osx_sdk directories but could be used elsewhere to manage clean up on the cache subdirectory level."

This reverts commit a53f41020e59776604ca4fc42efd43fed94def00.

Reason for revert: Causing some test failures in try for some reason.

Original change's description:
> This cl introduces a cache micro manager that will run cleanup primarily for osx_sdk directories but could be used elsewhere to manage clean up on the cache subdirectory level.
>
> Addresses: https://github.com/flutter/flutter/issues/137951 in which it was found that having multiple versions of Xcode was causing significant overhead to runtimes on mac os tests.
>
> The change here will track packages in a cache for example osx_sdk and keep track of the time in which packages will be removed with a metadata file in the directory.
> * If a package is updated and used the removal date will always be x days (currently 30 days) from the last day it was touched.
> * If a package is not updated it will be determined if it needs to be removed and if so will remove it.
> * Packages FOUND ON disk but NOT IN the file will be added automatically for tracking and removal.
> * Packages NOT FOUND on disk BUT IN the metadata file will be removed from the metadata file.
>
> One things to note is that we may want to tweak the time that we leave the packages around to something shorter or make it configurable via the ci.yaml. Though I am not sure how often multiple packages are used.
>
> This tool is unobtrusive and does not aggressively remove files. If you want to reset all package expirations you can simple remove the file from the machine to force it to recalculate the removal dates.
>
> This does not run as a service and can be added as a step to existing recipes if we need to remove packages causing overhead to other test runtimes.
>
> https://ci.chromium.org/ui/p/flutter/builders/try.shadow/Mac%20plugin_test_ios/4/overview
>
>
> Bug: https://github.com/flutter/flutter/issues/137951
> Change-Id: I7e552aff11d722d850ec40125c89311db6191b1b
> Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/52703
> Reviewed-by: Keyong Han <keyonghan@google.com>
> Commit-Queue: Ricardo Amador <ricardoamador@google.com>

TBR=keyonghan@google.com,flutter-scoped@luci-project-accounts.iam.gserviceaccount.com,mohsinally@google.com,ricardoamador@google.com,vashworth@google.com

Change-Id: Id52705c2dfa81c99b4dc4584fad4e37a51f017da
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/flutter/flutter/issues/137951
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/53161
Reviewed-by: Ricardo Amador <ricardoamador@google.com>
Commit-Queue: Ricardo Amador <ricardoamador@google.com>
Reviewed-by: Godofredo Contreras <godofredoc@google.com>
40 files changed
tree: 39c2a05fb33d1417ad58d274af5cf71d7b7400da
  1. infra/
  2. recipe_modules/
  3. recipes/
  4. .gitignore
  5. .style.yapf
  6. AUTHORS
  7. CONTRIBUTING.md
  8. LICENSE
  9. OWNERS
  10. README.md
  11. 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.