Caching mechanism using too much IO
Description
The caching mechanism between builds uses too much IO and I know that the runner I use is already low on that (thousands of files because I'm talking about node_modules here).
Unfortunaltely I have to stick with GIT_STRATEGY: none
and do the checkout myself in order to use:
git clean -fdx -e LIST_OF_CACHE_PATHS_HERE
Proposal
Use git clean -fdx -e LIST_OF_CACHE_PATHS_HERE
instead of compressing files in paths and decompressing them later.
For my use case I don't care if files from one job get mixed with files from another job. I just want those files not to be touched by the runner. Maybe there is a need for not mixing caches between files, so in this case I propose adding another field in .gitlab-ci.yml specifically for ignoring some paths when cleaning between builds.
Links to related issues and merge requests / references
Also posted this comment here #2037 (comment 70630337) but I feel that it gets no visibility.