Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run Android tests on FTL managed device #973

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

AndreSand
Copy link

Run Android test on Firebase test lab device.
Run time: ~19mins.
Gradle tasks: $./gradlew app:myFtlDeviceDemoDebugAndroidTest

Android Studio Hedgehog | 2023.1.1 Canary 14

TODO:

  • Add the workflow Ftl.yaml
  • Add service account JSON file to Gtihub secrets

AndreSand and others added 2 commits October 1, 2023 15:47
Gradle tasks: $./gradlew app:myFtlDeviceDemoDebugAndroidTest

TODO:
- Add the workflow Ftl.yaml
- Add service account JSON file to Gtihub secrets
@JoseAlcerreca
Copy link
Contributor

Let's mark this PR as a draft PR if it's not ready for review.

build.gradle.kts Outdated Show resolved Hide resolved
@@ -1,7 +1,7 @@
[versions]
accompanist = "0.28.0"
androidDesugarJdkLibs = "2.0.3"
androidGradlePlugin = "8.1.1"
androidGradlePlugin = "8.2.0-alpha14"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updating to alpha versions of AGP is pretty risky IMO.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I understand that this version is a prerequisite for enabling FTL managed devices. I'm simply pointing out that it might have unexpected consequences on the overall build, since AGP is applied on almost all modules of this project. 😃

app/build.gradle.kts Outdated Show resolved Hide resolved
@SimonMarquis
Copy link
Contributor

Is there a specific rational behind using a dedicated workflow instead of merging this into Build.yaml?

@dturner dturner marked this pull request as draft October 5, 2023 18:13
- rename variable
- use Pixel 7 API 33
@AndreSand
Copy link
Author

Is there a specific rational behind using a dedicated workflow instead of merging this into Build.yaml?

No specific reason, just to make the CI faster

@SimonMarquis
Copy link
Contributor

This could still be merged into the Build.yaml without any dependency, like what the test job does:

You said the run time was 19mins. Is it only the test execution time, or did you include the compilation time as well?
Did you experimented with sharding (this could improve the test execution time).

@SimonMarquis
Copy link
Contributor

By the way, this PR currently only runs instrumented tests from the :app module (26 tests) and not the full test suite.

@@ -33,6 +33,7 @@ dependencyGuard = "0.4.3"
firebaseBom = "32.4.0"
firebaseCrashlyticsPlugin = "2.9.9"
firebasePerfPlugin = "1.4.2"
firebaseTestlab = "0.0.1-alpha05"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a warning, if you ever need to bump this to alpha06 or above, it requires AGP 8.3. mentioning because of previous hesitancy to use unstable releases.

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.

None yet

4 participants