diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 63481463b..809fa426e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -134,6 +134,41 @@ jobs: run: | npx doctoc README.md [[ -z $(git status --porcelain README.md) ]] || (git diff README.md; echo "README changed"; exit 1) + test-latest-deps: + timeout-minutes: 30 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + with: + workspaces: temporalio/bridge -> target + - uses: actions/setup-python@v5 + with: + python-version: "3.13" + - uses: arduino/setup-protoc@v3 + with: + # TODO(cretz): Can upgrade proto when https://github.com/arduino/setup-protoc/issues/99 fixed + version: "23.x" + repo-token: ${{ secrets.GITHUB_TOKEN }} + - uses: astral-sh/setup-uv@v5 + - run: uv tool install poethepoet + - run: uv lock --upgrade + - run: uv sync --all-extras + - run: poe lint + - run: poe build-develop + - run: mkdir junit-xml + - run: poe test -s --junit-xml=junit-xml/latest-deps.xml + timeout-minutes: 10 + - name: "Upload junit-xml artifacts" + uses: actions/upload-artifact@v4 + if: always() + with: + name: junit-xml--${{github.run_id}}--${{github.run_attempt}}--latest-deps--time-skipping + path: junit-xml + retention-days: 14 # Runs the sdk features repo tests with this repo's current SDK code features-tests: diff --git a/tests/contrib/test_openai.py b/tests/contrib/test_openai.py index 295a2a855..033557d6d 100644 --- a/tests/contrib/test_openai.py +++ b/tests/contrib/test_openai.py @@ -3,7 +3,7 @@ import uuid from dataclasses import dataclass from datetime import timedelta -from typing import Any, Optional, Union +from typing import Any, Optional, Union, no_type_check import pytest @@ -61,6 +61,7 @@ ResponseOutputMessage, ResponseOutputText, ) + from openai.types.responses.response_function_web_search import ActionSearch from openai.types.responses.response_prompt_param import ResponsePromptParam from tests.contrib.research_agents.research_manager import ResearchManager @@ -409,6 +410,7 @@ async def get_response( ) +@no_type_check class TestResearchModel(TestModel): responses = [ ModelResponse( @@ -436,7 +438,10 @@ class TestResearchModel(TestModel): ModelResponse( output=[ ResponseFunctionWebSearch( - id="", status="completed", type="web_search_call" + id="", + status="completed", + type="web_search_call", + action=ActionSearch(query="", type="search"), ), ResponseOutputMessage( id="", diff --git a/uv.lock b/uv.lock index 9d80402aa..f753830c7 100644 --- a/uv.lock +++ b/uv.lock @@ -1004,7 +1004,7 @@ wheels = [ [[package]] name = "openai" -version = "1.88.0" +version = "1.92.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -1016,9 +1016,9 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5a/ea/bbeef604d1fe0f7e9111745bb8a81362973a95713b28855beb9a9832ab12/openai-1.88.0.tar.gz", hash = "sha256:122d35e42998255cf1fc84560f6ee49a844e65c054cd05d3e42fda506b832bb1", size = 470963, upload-time = "2025-06-17T05:04:45.856Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8b/bd/6c123e53d6727dc39086346df1161c8b6bb50e4cc0f2e9075cae909049b6/openai-1.92.3.tar.gz", hash = "sha256:6b707bc926a9fffab262dbd1eb4be29c36d627b9012633a66ccdbe2d615a9532", size = 485647, upload-time = "2025-06-27T17:06:55.96Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/03/ef68d77a38dd383cbed7fc898857d394d5a8b0520a35f054e7fe05dc3ac1/openai-1.88.0-py3-none-any.whl", hash = "sha256:7edd7826b3b83f5846562a6f310f040c79576278bf8e3687b30ba05bb5dff978", size = 734293, upload-time = "2025-06-17T05:04:43.858Z" }, + { url = "https://files.pythonhosted.org/packages/ea/60/4956baa677a569a247336c7edff4b3b6aab7a54119e2342d391d1d370446/openai-1.92.3-py3-none-any.whl", hash = "sha256:979f00c097d023a28f22c63373a646a675e4b9e1fad586e2424bf7274a2689f2", size = 753350, upload-time = "2025-06-27T17:06:53.547Z" }, ] [[package]]