Repository navigation
Conversation
manjari25
marked this pull request as ready for review
October 22, 2026 05:48
manjari25
requested review from
a team,
behinddwalls and
sbalabanov
as code owners
October 22, 2026 05:48
manjari25
added this pull request to stack #912
October 22, 2026 05:48
| // A change URI is resolved by the commit SHA in its last path segment, which | ||
| // both the git:// and github:// forms end in, so the repository must hold that | ||
| // commit. The request's remote and strategy are not consulted. | ||
| package tangofake |
Collaborator
There was a problem hiding this comment.
can we define it as a service like we do for runway or submitqueue? so that it can spinned in a container alongside the default set-up
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why?
The tango conflict analyzer talks to a Tango service, but running a real Tango needs a Bazel workspace, Bazelisk and a GitHub remote. That makes the demo and the integration tests heavy, and it ties them to a build system that has nothing to do with what they check. This adds a fake Tango server that speaks Tango's real gRPC protocol and gets its answers from a git repository, so the analyzer and
tangoclientcan run end to end in milliseconds.Nothing uses it yet. The demo's
ANALYZER=tangooption will run the container and the integration and e2e tests will import the library, in later PRs of the stack. It answers only what the analyzer asks and computes no real build graphWhat?
tangofake: a Tango server that implementsGetChangedTargets. A directory containing aTARGETfile is a target (//dir), and the file lists its dependencies, one label per line. A change affects the nearest target above each file it touches at distance 0, and its dependents at distance 1, 2 and so on. Adding aTARGETfile makes a target new, and deleting one makes it deleted.git://andgithub://forms. The repository must hold that commit.service/tangofake: runs it as a service like the other ones inservice/.server/is the binary, which takes-repo, the clone to read, and-address, which defaults to a free port that it logs. It has a Dockerfile, a compose file that mounts the repository and listens on:8080like the other services, a README,make build-tangofake-linux, and an entry inservice/README.md.tangoclient: its package doc now says it is the only production package that imports Tango's generated types, and its visibility admits the fake's round-trip test.Test Plan
bazel test //service/tangofake/...runs the unit tests, including a round trip throughtangoclientagainst a real git repository.bazel run //service/tangofake/server -- -repo <path to a repo with TARGET files>, ormake build-tangofake-linuxand then the compose file inservice/tangofake/server, withSQ_TANGOFAKE_REPO_DIRpointing at the repository.Issue