• Wez Furlong's avatar
    getdeps: add build cache abstraction · f40148ce
    Wez Furlong authored
    Summary:
    This diff adds a small abstraction that allows for uploading
    and downloading from an artifact cache.
    
    We try to download from this cache at build time, but will only
    try to populate it for continuous builds--those are built from
    code that has been reviewed and landed on master.  This restriction
    helps to avoid thrashing the cache with works in progress and
    results in a slightly more trustworthy state of the cache contents.
    
    In addition to this, we choose only to cache third party projects.
    The rationale is that our first party projects move too quickly to
    be worth caching, especially since the cache granularity is for
    the whole project rather than just changed elements of a given
    project.
    
    In a later diff I will introduce some implementations of the
    cache class that work with eg: Travis or Circle CI caching.
    
    Reviewed By: simpkins
    
    Differential Revision: D16873307
    
    fbshipit-source-id: 2bfb69e36615791747b499073586562f2ca48be9
    f40148ce
getdeps.py 21.6 KB