android / android/android-test
Feature request: Orchestrate the orchestrator
- Dominant language
- Java
- Stars
- 1.2k
- Forks
- 342
- Avg merge
- 11h 29m
- Merged PRs (30d)
- 2
Description
There are a growing number of systems designed to help maximize throughput of tests. Orchestrator and AJUR have an interesting connection in that they can enumerate tests without having to run them but lack the ability to consider historical data when sharding or deciding ordering.
Perhaps the enumeration could be exposed to a remote and execution planning could be handled by the remote via something like https://github.com/google/devx-tools/tree/master/waterfall when the correct arguments are provided? or rather the inverse of the waterfall system. IE the host would provide the orchestrator with arguments to connect to a host to upload the data and request the execution plan.
An inversion of control in orchestration may be hugely useful in making advanced usecases possible in environments such as [Firebase Test Lab](https://firebase.google.com/docs/test-lab), [AWS device farm](https://aws.amazon.com/device-farm/) or [OpenStf](https://openstf.io/) without exposing the host machine to the leasee.
Contributor guide
Research direction
No files, tests, or entry points are named. Start by tracing how Orchestrator and AJUR enumerate tests, then clarify the host/remote boundary and the arguments for uploading data and requesting an execution plan. Done requires an agreed, implementable design covering historical sharding and ordering for the cited device-farm use cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, firebase, java
- Domain
- cloud, distributed-systems, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100