Set timeout + streaming logs for CI tests - #1794
Conversation
Signed-off-by: Ajeet D'Souza <98ajeet@gmail.com>
timostamm
left a comment
There was a problem hiding this comment.
turbocaptures test output, so if the it gets killed because it hung, we have no error logs to work with.
Can you try running turbo with --log-order=stream? If this works well enough, maybe we don't need --test-timeout in every package.json.
|
I did consider |
Really unfortunate that Node's test runner doesn't apply a sensible default timeout :( But I'm not convinced that adding a For Not applicable to connect-es/.github/workflows/ci.yaml Line 73 in d119f23 |
If we agree that a default timeout is valuable and is something that should have been included in Node.js, I would say we should apply a timeout in all packages, whether or not we ship any changes related to turbo logging.
The problem with The reason we don't have this problem with our conformance tests is that |
We agree that Node.js should have had a default timeout for The problem we want to solve is that some tests do I/O. They aren't written defensively, and can get stuck. CI won't show us what got stuck because
From what I see,
|
Signed-off-by: Ajeet D'Souza <98ajeet@gmail.com>
Signed-off-by: Ajeet D'Souza <98ajeet@gmail.com>
TIL that Thanks for the heads up! I've switched to |
Signed-off-by: Ajeet D'Souza <98ajeet@gmail.com>
timostamm
left a comment
There was a problem hiding this comment.
Thanks for the perseverance, pitfalls all around here 😢
We recently had a 6-hour CI run due to a hung test: https://github.com/connectrpc/connect-es/actions/runs/33697561334/job/100469649229
turbocaptures test output, so if the it gets killed because it hung, we have no error logs to work with. To prevent this from happening, I added--log-order stream, which will mix up the outputs, but will give us some information to work with in cases like these.