recipe_engine: use git cache |
|||||
Issue descriptionGitBackend [1] is used to fetch recipe packages when running a remote recipe or fetching deps. Teach it to use shared git cache. Add a flag to recipes.py for the path to the a git cache directory. If specified, use it. We can set the flag in kitchen so LUCI builds do not fetch recipe packages over and over again. In addition, recipe engine will effectively pre-warm cache for the recipe itself which will likely want to checkout the same repo. [1]: https://github.com/luci/recipes-py/blob/ae33ef8b45421475037af149dc9dadd8bcf03920/recipe_engine/fetch.py#L88
,
Nov 17 2016
we could deploy a pinned version of depot_tools via CIPD just for the purpose to deliver git_cache.py. That would be an entry in swarmbucket config https://chrome-internal.googlesource.com/infradata/config/+/master/configs/cr-buildbucket/swarming_task_template.json#7 then add -git-cache-path flag to kitchen and recipe engine. We won't have to update the CIPD-deployed depot_tools because it is highly unlikely that we will make backward incompatible changes to git cache format/structure. This solution is not great, but simpler than extracting git_cache.py out of depot_tools. Not sure it actually makes sense because we fetch archives from GS inside git_cache.py
,
Jan 17 2017
,
Jan 17 2017
Technically speaking, with named caches, it can be a relative directory and "it'll just work".
,
Feb 22 2017
(bulk edit) setting P2 because this bug has luci label and not _required_ for the current milestone
,
Feb 22 2017
,
May 15 2017
the current thinking here is to build transparent caching into the new git executable wrapper (https://chromium.googlesource.com/infra/infra/+/master/go/src/infra/tools/git) and then remove git_cache.py entirely.
,
Jun 21 2017
,
Jan 9 2018
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by no...@chromium.org
, Nov 17 2016