Closed louwers closed 1 year ago
Pinging @thehoneymad since he said he knows some at AWS that is willing to jump on this. :rocket: :muscle:
I tried to run the Android instrumentation tests locally.
~I am getting several tests that fail with these assertion failures:~
validateTestSetup
~validateTestSetup
~Edit: this doesn't happen when I make sure my device is unlocked when I start the tests.
A few tests pass
But then the reopenQueryRendererFeaturesActivity
crashes after which none of the remaining 648 tests run. Stack trace:
I created an issue for the crashing #822
A lot of successes now! (181 passed after 5m 25s).
But I am getting:
java.lang.IllegalArgumentException: Could not find layer Streets
at com.mapbox.mapboxsdk.maps.Style.getPredefinedStyle(Style.java:1430)
in visibleRotatedRegionBoundEqualTest
now
Edit: Runs fine the second time somehow.
Edit2: animators_dontTiltWhileStopped
is now the only failing test!
These tests take 2 hours to run on AWS Device Farm.
The price is also $0.17 per minute. I think I will schedule them to be run weekly.
So one CI run costs USD 20 roughly?
So one CI run costs USD 20 roughly?
On a Google Pixel 7 Pro it ran through in one hour.
So then it's about $10. But we can purchase a device slot for $250 per month and I think should consider that instead (after it is up and running): https://aws.amazon.com/device-farm/pricing/
We have 1000 free minutes per month.
We used to run Android Instrumentation tests for Android with Firebase, but we want to move it over to AWS Device Farm (#761).
@birkskyum is able to set up an IAM account that is linked to MapLibre.
When any secrets need to be set up, please send them to me in a secure way (e.g. Bitwarden send via Slack or PGP). I can add them to the repo.
Inside
platform/android
, the app with the UI tests can be built usingSee the Makefile.
The old workflow (that will be removed soon) may also be helpful:
https://github.com/maplibre/maplibre-gl-native/blob/85e33f88b1386bddc63f340365bbb461e3f8b724/.github/workflows/android-ci.yml#L132