Page MenuHomePhabricator

Configure cache store for Gitlab WMCS runners
Open, Needs TriagePublicFeature

Description

Feature summary (what you would like to be able to do and where):
Currently shared/trusted runners aren't configured with any cache storage (see Gitlab docs for runners.cache). This means that any jobs configured to use Gitlab caching don't actually read/write to the cache. The kubernetes runners on Digital Ocean are configured correctly with cache storage (e.g. job #266091 on DO runner). It would be nice to have build caching functionality work on WMCS-hosted runners.

A Cloud VPS object storage container (wikitech) can be created, and the S3 compatible endpoint given to the Gitlab runner.

Use case(s) (list the steps that you performed to discover that problem, and describe the actual underlying problem which you want to solve. Do not describe only a solution):

  1. Enable caching in a Gitlab CI job
  2. Tag the job with wmcs
  3. An error message No URL provided, cache will not be downloaded from shared cache server. Instead a local version of cache will be extracted. is logged (example job)

Benefits (why should this be implemented?):

  • Speeds up builds
  • Reduces network usage when fetching external dependencies that can be cached (e.g. npm, go packages)