While the VM testing will make this problem obsolete, depending on how far away this is, this is a high priority problem.
There are various kind of jobs, programs, utilities and other scripts run inside a Jenkins job that may produce output in /tmp. In some cases this is configurable and can be disabled. In other cases, it's just an artefact of a lower level program and really not feasible (nor reasonable) to make this configurable.
We shouldn't keep /tmp around for ever.
I propose one or both of:
- Set the $TMPDIR environmental variable to something that is cleaned up.
- Dedicated to the job. E.g. some Jenkins plugin that runs globally on all jobs and nukes the tmp dir after the job is run.
- Dedicated to jenkins-slave. E.g. some generic /tmp/jenkins-slave dir that is purged by a cronjob we run on all contint slaves that will rm- rf items older than 6 hours.
- Purge everything in /tmp older than 24 hours.
See also: