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