From 2712b2e2504fc89cb49b4d13a2590d5c6294057d Mon Sep 17 00:00:00 2001 From: Tim Conley Date: Mon, 6 Oct 2025 10:56:39 -0700 Subject: [PATCH 1/3] Allow deadlock as a test pass as well --- tests/contrib/openai_agents/test_openai.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/tests/contrib/openai_agents/test_openai.py b/tests/contrib/openai_agents/test_openai.py index 9d32a170c..aa81e32c8 100644 --- a/tests/contrib/openai_agents/test_openai.py +++ b/tests/contrib/openai_agents/test_openai.py @@ -108,7 +108,7 @@ from tests.contrib.openai_agents.research_agents.research_manager import ( ResearchManager, ) -from tests.helpers import assert_task_fail_eventually, new_worker +from tests.helpers import assert_eventually, assert_task_fail_eventually, new_worker from tests.helpers.nexus import create_nexus_endpoint, make_nexus_endpoint_name @@ -1751,10 +1751,19 @@ async def test_session(client: Client): execution_timeout=timedelta(seconds=10.0), retry_policy=RetryPolicy(maximum_attempts=1), ) - await assert_task_fail_eventually( - workflow_handle, - message_contains="Temporal workflows don't support SQLite sessions", - ) + + async def check(): + async for evt in workflow_handle.fetch_history_events(): + # Sometimes just creating the sqlite session takes too long for a workflow in CI, so check both + if evt.HasField("workflow_task_failed_event_attributes") and ( + "Temporal workflows don't support SQLite sessions" + in evt.workflow_task_failed_event_attributes.failure.message + or "Potential deadlock detected" + in evt.workflow_task_failed_event_attributes.failure.message + ): + return + + await assert_eventually(check) async def test_lite_llm(client: Client, env: WorkflowEnvironment): From c6b60b2a67c8c3e705537e5e2861e992de2b21e4 Mon Sep 17 00:00:00 2001 From: Tim Conley Date: Mon, 6 Oct 2025 11:01:56 -0700 Subject: [PATCH 2/3] Run the test a lot --- .github/workflows/ci.yml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 44e3741d0..31f8d7cc7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -76,6 +76,46 @@ jobs: - run: poe lint - run: poe build-develop - run: mkdir junit-xml + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 + - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml + timeout-minutes: 5 - run: poe test ${{matrix.pytestExtraArgs}} -s --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml timeout-minutes: 15 # Time skipping doesn't yet support ARM From 10a1f3e49861f1e4b3b43c849ff0c53f08b104e4 Mon Sep 17 00:00:00 2001 From: Tim Conley Date: Mon, 6 Oct 2025 11:26:36 -0700 Subject: [PATCH 3/3] Revert "Run the test a lot" This reverts commit c6b60b2a67c8c3e705537e5e2861e992de2b21e4. --- .github/workflows/ci.yml | 40 ---------------------------------------- 1 file changed, 40 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 31f8d7cc7..44e3741d0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -76,46 +76,6 @@ jobs: - run: poe lint - run: poe build-develop - run: mkdir junit-xml - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - - run: poe test ${{matrix.pytestExtraArgs}} -k "test_session" -sv --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml - timeout-minutes: 5 - run: poe test ${{matrix.pytestExtraArgs}} -s --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}.xml timeout-minutes: 15 # Time skipping doesn't yet support ARM