@@ -116,7 +116,7 @@ jobs:
116116 echo "Great job! No new mypy errors introduced."
117117 fi
118118
119- # 3 . Unit testing (Unit Tests with Matrix)
119+ # 3a . Unit testing (Unit Tests with Matrix)
120120 unit-test :
121121 name : Unit Tests (Python ${{ matrix.python-version }})
122122 runs-on : ubuntu-latest
@@ -152,3 +152,43 @@ jobs:
152152 -n auto \
153153 --ignore=tests/unittests/artifacts/test_artifact_service.py \
154154 --ignore=tests/unittests/tools/google_api_tool/test_googleapi_to_openapi_converter.py
155+
156+ # 3b. Dual-version A2A coverage: This job pins a2a-sdk to 0.3.x and
157+ # runs only the A2A-related tests, so the a2a/_compat.py shim stays
158+ # verified against both SDK majors.
159+ # TODO: Remove this 0.3.x re-run once a2a-sdk 0.3.x support is dropped.
160+ unit-test-a2a-v0-3 :
161+ name : A2A v0.3 Tests (Python ${{ matrix.python-version }})
162+ runs-on : ubuntu-latest
163+ strategy :
164+ fail-fast : false
165+ matrix :
166+ python-version : ["3.10", "3.11", "3.12", "3.13", "3.14"]
167+ timeout-minutes : 10
168+ steps :
169+ - name : Checkout code
170+ uses : actions/checkout@v6
171+
172+ - name : Set up Python ${{ matrix.python-version }}
173+ uses : actions/setup-python@v6
174+ with :
175+ python-version : ${{ matrix.python-version }}
176+
177+ - name : Install the latest version of uv
178+ uses : astral-sh/setup-uv@v7
179+ with :
180+ enable-cache : true
181+
182+ - name : Install dependencies
183+ run : |
184+ uv venv .venv
185+ source .venv/bin/activate
186+ uv sync --extra test
187+
188+ - name : Run A2A tests against a2a-sdk v0.3
189+ run : |
190+ source .venv/bin/activate
191+ uv pip install --reinstall-package a2a-sdk 'a2a-sdk>=0.3.4,<0.4'
192+ pytest tests/unittests/a2a \
193+ tests/unittests/agents/test_remote_a2a_agent.py \
194+ tests/unittests/integrations/agent_registry/test_agent_registry.py
0 commit comments