inactivityTimeout was deprecated in v1.0.0 in favour of a global runs timeout
Inactivity Timeout is a setting that defines how long should we wait until checking for a run's inactivity.
Having an "inactivity timeout" is a way to deal with:
Stale / terminated cypress agents that never report results back
Slow CI machines that start running tests later than other machines
For example, having two cypress agents running, each presented by a timeline below:
We start "inactivity timeout" when run starts; we restart it every time a new test file is requested.
When "inactivity timeout" expires, we check if all tests are done. If so, we set the whole run as completed. If there're pending or still running tests, the whole run is marked as "expired".
Setting Inactivity Timeout
You can change "Inactivity Timeout" in Project Settings. Please note the following implications when setting "Inactivity Timeout":
Every spec (not test) should complete within "Inactivity Timeout", otherwise the whole run will be marked as "expired" (even though SC will still collect test results).
SC will wait up to "Inactivity Timeout" seconds after the last spec started before marking the whole run as completed, even if all the specs have finished before. That might delay reporting RUN_FINISH when using Integrations.
Try breaking down your tests into smaller spec files to achieve balanced "Inactivity Timeout" that works for your specific use case
Inactivity Timeout Reporting
The dashboard will indicate the runs that are waiting for "Inactivity timeout" to expire
By default director service keeps the timeout counters in memory. Restarting director would remove the timers. Set up a redis cluster to create for more reliable implementation.