Clean up old build directories
Description
When using shell runners with multiple projects, they create a directory structure per concurrent runner and project (i.e. builds/0/my-group/some-project). These directories are created per project and can have a significant size, i.e. when NuGet, Maven or npm packages are restored during the build process. As these folders are never cleaned up, they can at some point completely use the available disk space.
Proposal
Clean up old build directories regularly. A simple strategy could be to remove all project's dirs that have not been triggered during the last X days (i.e. 30).
A more advanced strategy would be to define the maximum disk space consumption the runner is allowed to take and remove the least recently used projects after a build until the quota is fulfilled again.
Links to related issues and merge requests / references
There is an issue that sounds similar, but (to me) sounds substantially different: #2900 (closed)
If it makes sense to join the two, it would be ok with me of course.