-
Notifications
You must be signed in to change notification settings - Fork 73
Description
Expected behavior
When spread is run with -vv, stdout from the task is streamed to the terminal that spread is executed from
Actual behavior
When spread is run with -vv, stdout from the task is only shown after the task script completes (except for small snippets of stdout that are shown every warn-timeout)
Impact
Delayed logs (e.g. on pull request CI) can make monitoring/troubleshooting tests more difficult. When the test suite is flaky or prone to stalling (e.g. lack of timeouts, timeouts set too high), monitoring real-time logs can make iterations quicker—since a fix can be pushed or a test can be cancelled & retried before the task fails
Additional information
When we run spread on GitHub Actions (for our pull request CI), we provision a runner for each spread job. On each runner, we run spread & select a single job
For this use case (single spread job & single machine), streaming of stdout is desired
If spread was run with multiple machines (and using -vv), streaming of stdout may be undesirable (since the logs from the different machines would presumably get mixed together)
In Frankfurt, we briefly mentioned this to @jnsgruk and it sounds like maybe the current behavior could be considered a bug—but given that spread could be run with multiple machines, wanted to check: is the current behavior the intended behavior—or would implementing log streaming (in a verbose mode) be compatible with spread's design?