Skip to content

Raise the dev server's default workflow task timeout in tests - #1845

Draft
DABH wants to merge 2 commits into
mainfrom
flake/default-wft-timeout
Draft

Raise the dev server's default workflow task timeout in tests#1845
DABH wants to merge 2 commits into
mainfrom
flake/default-wft-timeout

Conversation

@DABH

@DABH DABH commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

What was changed

tests/conftest.py starts the dev server with history.defaultWorkflowTaskTimeout="60s"; test_workflow_info asserts the new default. Explicit task_timeout values are unaffected.

Why

Most recent macOS failures start with a 10-30s worker stall (Evicting workflow ... Error reporting WFT to server) that pushes the first workflow task past the 10s default. The retry then breaks tests in different ways: attempt-dependent assertions see a second attempt, and at attempt 3 the server fails updates and queries fast. A longer default fixes the class instead of one test at a time. Local dev server only; the time-skipping server ignores dynamic config. Supersedes #1838 and #1844.

Testing

test_workflow_info confirms the default; the tests those PRs touched pass under it, 63 passed. ruff clean.

Most recent macOS CI failures share one trigger: the worker process stalls
for 10-30s, the first workflow task exceeds the server's 10s default timeout,
and the retry breaks tests in test-specific ways (attempt-dependent
assertions, and the server's fail-fast for updates and queries once the
attempt counter reaches 3). Give the local dev server a 60s default so test
workflows tolerate a stall unless they opt into a short task timeout.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The updated assertion will fail in the Cloud envconfig suite where the local dynamic configuration is not applied.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Raises the local dev server’s default workflow task timeout to reduce CI failures caused by worker stalls.

Changes:

  • Configures a 60-second default workflow task timeout.
  • Updates workflow-info test expectations.
File summaries
File Description
tests/conftest.py Adds the local dev-server timeout configuration.
tests/worker/test_workflow.py Updates the expected default timeout.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 1
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread tests/worker/test_workflow.py Outdated
assert info["run_timeout"] is None
assert info["task_queue"] == worker.task_queue
assert info["task_timeout"] == "0:00:10"
assert info["task_timeout"] == "0:01:00"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, this ran against Cloud before I caught it. Fixed in 25a9d03: the test takes the env_type fixture and expects the 60s default only for the local dev server, 10s elsewhere.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog PR changes do not require changelog updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants