-
[NA] [SDK] [CI] test: stabilize ADK + GenAI CI and drop flaky ADK test (#6916)
发布于
2026-05-29 16:13:49 +00:00 - [NA] [PSDK] test: drop flaky ADK transfer_to_agent test
test_adk__transfer_to_agent__tracked_and_span_createdhas failed
across consecutive CI runs (26582543507, 26632552400, 26637545466) on
every supported Python version. Two failure modes, same effect — no
Translator span androot.output=None:- Gemini 2.5 Flash decides to translate inline instead of invoking
transfer_to_agent, despite an instruction that forbids it. - Vertex AI returns 429 RESOURCE_EXHAUSTED under CI quota pressure
(visible in 26637545466's sequential-agents test, same project).
Prior fixes — hardening the delegation instruction (926c71d1fa),
relaxing output assertions (8c5f63ce94), andpytest.mark.flaky
reruns (05318dd8a2) — were all unsuccessful; the rerun attempt
explicitly confirmed all three attempts failed deterministically and
was reverted (a21abf5d4e).The unique coverage was the
execute_tool transfer_to_agentspan,
which can't be exercised without an LLM choosing to delegate.
Sub-agent span tracing is already covered deterministically by
test_adk__sequential_agent_with_subagents__every_subagent_has_its_own_span.
Dropping the test rather than carrying an indefinitely red check.Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com
- [NA] [CI] chore: shrink ADK matrix to first + last Python
The ADK suite runs ~46 live Gemini calls × 5 Python versions = ~230
concurrent Vertex AI requests against a single GCP project per CI run.
us-east1 / gemini-2.5-flash quota tops out well below that, and run
26637545466 already surfaced a 429 RESOURCE_EXHAUSTED that masqueraded
as a test bug. Intermediate Python versions virtually never surface
ADK-specific regressions the bookends miss, so collapse to 3.10 + 3.14
and reclaim that quota for retries.Applies to both the current and legacy ADK 1.3.0 workflows.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com
- chore(ci): cap ADK matrix concurrency at max-parallel 2
Today's matrix already collapses to 3.10 + 3.14, so this is a no-op in
isolation. The value is forward-defensive: if anyone re-expands the
matrix later (a new Python version, a parameterised ADK pin), the cap
keeps concurrent Vertex AI Gemini calls from re-multiplying back into
429 RESOURCE_EXHAUSTED territory without anyone having to re-discover
the quota math.Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com
- chore(ci): apply same matrix shrink + concurrency cap to GenAI tests
The Google GenAI library integration tests share the opik-sdk-tests
GCP project with the ADK suite, so an uncapped 5× matrix here works
against the same Vertex AI quota pool the ADK changes just relieved.
Same justification, same defaults: matrix = oldest + newest Python,
max-parallel = 2.Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com
- chore(ci): restore full Python matrix; rely on max-parallel: 2 to throttle
Earlier in this PR the matrix collapsed to 3.10 + 3.14 to relieve
Vertex AI quota. With max-parallel: 2 now in place, throttling does
the same job without losing coverage on intermediate Python versions —
restore PYTHON_VERSIONS on all three Gemini-touching workflows (ADK,
ADK legacy 1.3.0, GenAI).Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com
Co-authored-by: Claude Opus 4.7 (1M context) noreply@anthropic.com
下载附件