-
Notifications
You must be signed in to change notification settings - Fork 0
Description
I am trying to setup codspeed on a multi-module Go repository. On a ubuntu-latest Github runner and I am running into 'no space left on device' errors (full logs).
failed to write raw results: write /tmp/profile.6zEGSoeXO7.out/raw_results/649cad625b718acc06eb36b981d8502f.json: no space left on device
cat: write error: No space left on device
This is intentional, see
codspeed-go/go-runner/src/builder/templater.rs
Lines 38 to 44 in 0b914bf
| // We don't want to spend time cleanup any temporary files since the code is only | |
| // run on CI servers which clean up themselves. | |
| // However, when running tests we don't want to fill the disk with temporary files, which | |
| // can cause the tests to fail due to lack of disk space. | |
| if cfg!(not(test)) { | |
| target_dir.disable_cleanup(true); | |
| } |
but unfortunately this is not workable if you need to codspeed run hundreds of times because you have a monorepo (e.g. another repository that I want to use Codspeed on would have to run codspeed run 230+ times). ubuntu-latest seems to have 14GB storage so codspeed seems to be a bit excessive in the amount of temp files it keeps around.
A Linux workaround is to just do rm -rf /tmp/* || true but this tries to delete all temp files, including non-codspeed ones (e.g. systemd ones), and so it would be nice if codspeed-go had this option and it could be passed down by the codspeed runner.