Skip to content

feat(conflict): Add a Tango client adapter for changed targets - #911

Open
manjari25 wants to merge 1 commit into
manjari/tango-base-revisionfrom
manjari/tango-client
Open

manjari25 wants to merge 1 commit into
manjari/tango-base-revisionfrom
manjari/tango-client

Conversation

@manjari25

Copy link
Copy Markdown
Contributor

Why?

The tango analyzer asks a ChangedTargetsClient which targets a batch affects, but nothing implements it against the Tango service. This adds the OSS adapter.

What?

  • tangoclient.New(client, Config{Remote, Strategy}) implements ChangedTargetsClient over Tango's YARPC client.
  • Requests the base revision against the base plus the batch's change URIs, with max_distance: -1 so Tango doesn't keep only the seed targets.
  • Keeps only each target's ID and distance while the response streams, then resolves labels from the metadata that closes it.
  • Fails closed on a failed or cut-off stream, missing metadata, or a target with no label.
  • Adds github.com/uber/tango at v0.0.46, which raises fx to 1.24 and dig to 1.19. MODULE.bazel gets a gazelle_override because Tango's Bazel files target its own workspace.

Test Plan

  • Unit tests
  • CI

Issue

@manjari25
manjari25 added this pull request to stack #912 October 22, 2026 00:54
@manjari25
manjari25 marked this pull request as ready for review October 22, 2026 01:06
@manjari25
manjari25 requested review from a team, behinddwalls and sbalabanov as code owners October 22, 2026 01:06

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants