Skip to content
  • Michel Dänzer's avatar
    gitlab-ci: Use per-job ccache · 4712fdf7
    Michel Dänzer authored
    Instead of a single cache shared between all jobs, but reduce the
    maximum cache size to 1.5G (from 5G).
    
    Rationale for smaller cache:
    
    Pulling & pushing a 5G cache could take a long time. Consider
    https://gitlab.freedesktop.org/mesa/mesa/-/jobs/684010
    
     (click the "Show
    complete raw" button to see timestamps): Pulling the cache took
    1569927241-1569927194 = 47 seconds, pushing it 1569927671-1569927519
    = 152, for a total of 199 seconds. The actual build took comparable
    1569927518-1569927243 = 275 seconds, despite no cache hits from ccache.
    In other words, the cache transfers almost doubled the job duration,
    and they would have negated any build time benefits from ccache even
    with a high cache hit rate.
    
    Also, the smaller caches avoid blowing up storage requirements for them
    too much.
    
    Rationale for per-job caches:
    
    Making a single cache significantly smaller might result in cached
    build products from one job getting evicted by another job, reducing
    the likelihood of cache hits from previous pipelines.
    
    v2:
    * Move up "ccache --max-size=1500M" call (Eric Engestrom)
    
    Reviewed-by: default avatarEric Engestrom <eric.engestrom@intel.com>
    4712fdf7
Validating GitLab CI configuration… Learn more