public runners cache offical ci images

Description

Gitlab.com runners to cache the official GitLab CI images, including CodeClimate Engines, since codequality jobs are an official feature.

dind jobs such as codequality are very slow. For example, take this build where I run codeclimate twice, back to back:

$ time docker run --env CODECLIMATE_CODE="$PWD" --volume "$PWD":/code --volume /var/run/docker.sock:/var/run/docker.sock --volume /tmp/cc:/tmp/cc codeclimate/codeclimate analyze -f json > codeclimate.json
real    13m 47.40s
user    0m 0.10s
sys 0m 0.12s
$ time docker run --env CODECLIMATE_CODE="$PWD" --volume "$PWD":/code --volume /var/run/docker.sock:/var/run/docker.sock --volume /tmp/cc:/tmp/cc codeclimate/codeclimate analyze -f json > codeclimate.json
real    1m 8.60s
user    0m 0.05s
sys 0m 0.08s

Proposal

I am not quite sure, but I think caching docker images is a built in of the multi-runner and this change would be to not purge the list of official images.

Links / references

This fits in the over all discussions of docker image caching, but I agree that public runners do not need to cache everything, so this issue is specific to gitlab.com, public runners, and official images.

Documentation blurb

Overview

What is it? Why should someone use this feature? What is the underlying (business) problem? How do you use this feature?

Use cases

Who is this for? Provide one or more use cases.

Feature checklist

Make sure these are completed before closing the issue, with a link to the relevant commit.

  • Feature assurance
  • Documentation
  • Added to features.yml
Assignee Loading
Time tracking Loading