Code quality fails when used in recent docker dind contexts
Summary
Our code quality offering is based on codeclimate. The corresponding image is fairly old https://hub.docker.com/r/codeclimate/codeclimate; the latest version was released 2y ago. This version includes a docker 20.10.17 with API version 1.41 that is incompatible with our dind-service.
/ # docker version
Client:
Version: 20.10.17
API version: 1.41
Go version: go1.17.11
Git commit: 100c701
Built: Mon Jun 6 22:56:42 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Error message in the log Error response from daemon: client version 1.41 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version.
Steps to reproduce
https://gitlab.com/gitlab-org/ci-cd/codequality/-/jobs/12782016005
Example Project
https://gitlab.com/gitlab-org/ci-cd/codequality
What is the current bug behavior?
Code quality refuses to run in newer dind contexts: pack for building CNB stops at ===> ANALYZING w... (#585225 - closed) • Vishal Tak • 18.9.
Possible fixes
We can try updating the docker client within the code climate image or we have to downgrade the dind version and update the documentation to highlight that builtin code quality only runs up until a specific docker version. Given that built-in Code Quality code is deprecated the second option may be acceptable.