Timeout more than 120 minutes?

Ruby library, running tests in a Docker container. Currently using in ‘free for open source’ mode if that makes a difference, although will likely switch to paid as we increase test load.

Expect the full test suite to take several hours because it’s performing building physics simulations, which are computationally intensive. The tests seem to be running fine, as evidenced by the contents of the build artifacts I’m storing. They also run fine locally, taking several hours as expected.

However, the build is timing out with the following message:

command docker run -v $(pwd):/openstudio-standards nrel/openstudio /openstudio-standards/openstudio-standards/test/bin/docker-run.sh took more than 120 minutes to run

Based on the fact that I’ve hit the 120 minute timeout message twice, I assume this is a built-in limit, but I haven’t been able to find anything about it in the documentation. Is there any way I can increase this timeout? Parallelization could also help address this problem if the limit can’t be increased.

Here’s what I’ve tried so far:

  1. Set the timeout to 21s: that build timed out after 21s as expected.
  2. Increased the timeout to 21600s (6hrs), but this build timed out after 2hrs anyway.

There is a hard limit of 120 minutes per command—this helps us ensure that the infrastructure can be redeployed fast enough in case of a security vulnerability while still not breaking your build and not leaving it in an inconsistent state.

Would it be possible to use multiple containers in parallel and split the tests / simulations between them? This should allow you to stay under the 2h limit.

Sorry for the inconvenience.

Makes sense, thanks for the quick reply! I will parallelize the test suite.

1 Like

Is there a way to increase this limit?

Hi guys, just ran into this problem. My acceptance tests are starting to take a looong time.

Is there any way to increase the limit?