Skip to content

Bug 41342 - Build test artifacts for Android

Merge Info

Issues

Resolves

Related

Merging

Target Branches

  • main: esr128-14.5
  • maint-14.0: esr128-14.0
  • maint-13.5: esr115-13.5

Backporting

Timeline

  • No Backport (preferred): patchset for the next major stable
  • Immediate: patchset needed as soon as possible
  • Next Minor Stable Release: patchset that needs to be verified in nightly before backport
  • Eventually: patchset that needs to be verified in alpha before backport

Change Description

The main change here is that new APKs are build whenever building for Android: a test APK an a non-optimized app APK for running the tests.

I fought a bunch with the idea of running the tests against a non-optimized APK, since it would be ideal to run tests against the final app APK like we are doing for desktop. Unfortunately that seems to be impossible for Android. Long story short, symbols that are used by the test APK are stripped during the optimization step of the app and the tests can't run against the optimized app APK because of that.

Mozilla also runs their tests against a non-optimized APK, so 🤷

These new APKs will be used for a similar test suite as the desktop-startup-test. However, since the testing in Android is different, these APKs will also be used for all other integration tests.

Some other changes were a bit of a refactoring of the build.android file and an update of the gradle-dependencies for geckoview to include the test dependencies.

How Tested

Run an Android build. Check that installing and running the test APK and the noopt APK works and that the test runs.

Merge request reports

Loading