Rewrite of Flank in Kotlin
- APIs are used for all Google Cloud interactions
- Firebase Test Lab transparently retries VMs 3x
- Infrastructure Failures may lead to 4 hours or more of wait times as a result, retrying VMs on failure isn't super helpful.
- VM timeout applies only once the VM has booted. Hours spent waiting for the VM to boot aren't included in the wait time.
- Test failures are best retried using a retry JUnit rule combined with Android Test Orchestrator and an app reset rule
- On device retry is free since we don't need to spin up a new VM.
- Each VM created is another opportunity for FTL to error. Even when VMs boot correctly, it's at least a 5m wait time.
Google provides two types of client libraries: Google API Client Libraries
and Google Cloud Client Libraries
.
google-api-services-*
- legacygoogle-api-services-storage
google-api-services-toolresults
google-api-services-testing
google-cloud-*
- newestgoogle-cloud-storage
The discovery JSON is useful for understanding APIs and producing clients automatically. The discovery JSON contains the latest changes.
- toolresults/v1beta3/
- testing/v1 or testing
- storage/v1
google-cloud-sdk\lib\googlecloudsdk\third_party\apis
has older JSON versions. Not recommended for use.storage_v1.json
toolresults_v1beta3.json
testing_v1.json
See client generation for more information.
Published on maven central
com.google.cloud:google-cloud-storage:1.15.0
Published on maven central
com.google.apis:google-api-services-toolresults:v1beta3-rev351-1.21.0
Client may be generated manually using testing_v1.json
and the master branch of apis-client-generator. Google also publishes official clients:
git clone https://android.googlesource.com/platform/tools/studio/google/cloud/testing
git checkout studio-master-dev
- Android Studio repo
gradle build
API Discovery JSON may be converted to OpenAPI 3 using apimatic.io/transformer. See mock_server.md for details.