Skip to content

Latest commit

 

History

History
 
 

readme.md

Flank Kotlin Build Status

Rewrite of Flank in Kotlin

Design decisions.

  • 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.

Client libraries

Google provides two types of client libraries: Google API Client Libraries and Google Cloud Client Libraries.

  • google-api-services-* - legacy
    • google-api-services-storage
    • google-api-services-toolresults
    • google-api-services-testing
  • google-cloud-* - newest
    • google-cloud-storage

Discovery JSON

The discovery JSON is useful for understanding APIs and producing clients automatically. The discovery JSON contains the latest changes.

See client generation for more information.

google-cloud-storage

Published on maven central

com.google.cloud:google-cloud-storage:1.15.0

google-api-services-toolresults

Published on maven central

com.google.apis:google-api-services-toolresults:v1beta3-rev351-1.21.0

google-api-services-testing

Client may be generated manually using testing_v1.json and the master branch of apis-client-generator. Google also publishes official clients:

Clone

  • git clone https://android.googlesource.com/platform/tools/studio/google/cloud/testing
  • git checkout studio-master-dev
  • Android Studio repo

Build

  • gradle build

Mock Servers

API Discovery JSON may be converted to OpenAPI 3 using apimatic.io/transformer. See mock_server.md for details.