Bug 1613455 - Allow custom APK uploads for Geckoview/Fenix perftests. r=perftest...
commitd9c9e6a2483d1587bf861e01d0ee36b2055b3c09
authorGreg Mierzwinski <gmierz2@outlook.com>
Wed, 22 Mar 2023 12:30:17 +0000 (22 12:30 +0000)
committerGreg Mierzwinski <gmierz2@outlook.com>
Wed, 22 Mar 2023 12:30:17 +0000 (22 12:30 +0000)
tree63805fa8536630543f2e5e7ea7bfba14f08d229e
parentf6ef30b5c23316eb75f6223975d6a74ff5176f16
Bug 1613455 - Allow custom APK uploads for Geckoview/Fenix perftests. r=perftest-reviewers,afinder

This patch allows mobile developers to upload custom APKs for testing through a commit. This allows them to run our performance tests by building locally, and then uploading to CI to run tests there.

The `./mach try perf` command is modified to make this simpler. It accepts either an environment variable, or a path to an APK, and copies it in-tree. After adding it to hg, the command stops running and asks the user to commit the changes. From there the user re-runs the `./mach try perf` command to select the appropriate tests.

Using --browsertime-upload-apk, users can use a custom APK for browsertime tests, and using --mozperftest-upload-apk, users can use a custom APK in mozperftest tests. The reason it's done this way is that we don't have common areas between the two frameworks. The methods are the same in both cases, i.e. for a fenix test, a fenix APK needs to be uploaded.

Differential Revision: https://phabricator.services.mozilla.com/D172435
python/mozperftest/mozperftest/system/android.py
python/mozperftest/mozperftest/system/android_startup.py
python/mozperftest/mozperftest/tests/test_android.py
python/mozperftest/mozperftest/tests/test_android_startup.py
testing/mozharness/mozharness/mozilla/testing/raptor.py
tools/tryselect/selectors/perf.py
tools/tryselect/test/test_perf.py