-
Bug
-
Resolution: Unresolved
-
Minor
-
None
Whenever you run a matrix job, regardless of how many buildbots will actually get picked by label/node, when executing there is a "parent" job and one or more "child" jobs. So if I have a matrix project called "test", with labels "amd64" and "i386" selected, I will end up with three executing jobs - "test", "test > i386" and "test > amd64".
Sometimes, the "parent" job and one of the "child" jobs are on the same host. This is fine. However, often, they are on different hosts. When this happens, a full SCM checkout happens on both the child host and the parent host.
Even if the matrix labels mean the parent can never run the job it is parent to by itself, it will have a full source checkout - potentially several gigabytes - used uselessly. For example, "ppc64el-specific-test" might be parented on an amd64 host, meaning a full SCM checkout on that amd64 host which is never needed and never used and never cleaned.
I'm running some very space-constrained builders, and this behaviour is killing me. I don't need more than half the space in my /var/lib/jenkins/workspace on my ppc64el host to contain jobs that will never be built on that host, and I can't imagine who would.