Skip to content

test(google_adk): allow pre-release opentelemetry-resourcedetector-gcp to fix dependency resolution - #3427

Merged
mikeldking merged 1 commit into
mainfrom
claude/canary-google_adk-30033967153-1
Jul 24, 2026
Merged

test(google_adk): allow pre-release opentelemetry-resourcedetector-gcp to fix dependency resolution#3427
mikeldking merged 1 commit into
mainfrom
claude/canary-google_adk-30033967153-1

Conversation

@mikeldking

Copy link
Copy Markdown
Contributor

fix google_adk canary: dependency resolution failure

Root cause

The canary cron's py310-ci-google_adk-latest and py314-ci-google_adk-latest
environments failed at the uv pip install -r test-requirements.txt step (before
any tests ran) with an unsatisfiable resolution:

Because only opentelemetry-resourcedetector-gcp<1.5.0.dev0 is available and
opentelemetry-exporter-gcp-trace>=1.9.0 depends on
opentelemetry-resourcedetector-gcp>=1.5.0.dev0, we can conclude that
opentelemetry-exporter-gcp-trace>=1.9.0 cannot be used.
And because google-adk==1.2.1 depends on opentelemetry-exporter-gcp-trace>=1.9.0
and you require google-adk==1.2.1, your requirements are unsatisfiable.

This is an upstream packaging change, not a code regression:

  • google-adk (via opentelemetry-exporter-gcp-trace) now pulls in
    opentelemetry-exporter-gcp-trace>=1.9.0.
  • The newer opentelemetry-exporter-gcp-trace releases require
    opentelemetry-resourcedetector-gcp>=1.5.0.dev0, which is only published as a
    pre-release (e.g. 1.12.0a0); no matching stable release exists.
  • uv does not enable pre-releases for a package unless it is requested with a
    pre-release marker in a direct requirement. Because the marker only appears
    transitively, uv refused to select the pre-release and resolution failed. The
    uv hint in the log spells this out.

Fix

Add opentelemetry-resourcedetector-gcp>=1.5.0.dev0 as a direct entry in the
package's test-requirements.txt. The explicit pre-release marker tells uv it may
select the pre-release for that package, allowing the google-adk dependency tree
(opentelemetry-exporter-gcp-trace 1.12.0 / opentelemetry-resourcedetector-gcp 1.12.0a0) to resolve. This is a test-only change; the instrumentor's runtime
dependencies are unchanged.

Validation

Ran from the repository root:

uvx --with tox-uv tox -c python/tox.ini r -e py310-ci-google_adk-latest -- -ra -x
uvx --with tox-uv tox -c python/tox.ini r -e py314-ci-google_adk-latest -- -ra -x

Both environments now resolve dependencies, upgrade to google-adk==2.5.0 (latest),
and pass: 24 passed each, with ruff format, ruff check, and mypy all clean.

@mikeldking
mikeldking requested a review from a team as a code owner July 23, 2026 18:45
@dosubot dosubot Bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Jul 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

@mikeldking
mikeldking merged commit 8964d2f into main Jul 24, 2026
20 checks passed
@mikeldking
mikeldking deleted the claude/canary-google_adk-30033967153-1 branch July 24, 2026 23:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant