Consider making the CI_PRE_CLONE_SCRIPT step faster
What is the GitLab engineering productivity problem to solve?
I've noticed that the CI_PRE_CLONE_SCRIPT
CI step can take a long time (e.g. 1m48s here: https://gitlab.com/gitlab-org/gitlab/-/jobs/825934611).
The repo seems to be Receiving objects: 100% (2557590/2557590), 1.00 GiB | 17.09 MiB/s, done.
/ Operation completed over 1 objects/1.1 GiB
based on https://gitlab.com/gitlab-org/gitlab/-/jobs/827487813. It was 800MB when this documentation was written: https://docs.gitlab.com/ee/development/pipelines.html#pre-clone-step
Thus, the downloading of the repo takes more and more time.
Problem identification checklist
-
The root cause of the problem is identified. -
The surface of the problem is as small as possible.
What are the potential solutions?
- Reduce the repo size: not practical.
- Cache a shallow clone of the repo: since our default fetch depth in our CI jobs is 20 commits (https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab-ci.yml#L57), it should be fine to cache a shallow version of the repo.
Verify that the solution has improved the situation
-
The solution improved the situation. - If yes, check this box and close the issue. Well done!
🎉 - Otherwise, create a new "Productivity Improvement" issue. You can re-use the description from this issue, but obviously another solution should be chosen this time.
- If yes, check this box and close the issue. Well done!