Closed Bug 1718341 Opened 3 months ago Closed 2 months ago

Generate Android Emulator from TL task

Categories

(GeckoView :: General, enhancement, P1)

Unspecified
All
enhancement

Tracking

(firefox92 fixed)

RESOLVED FIXED
92 Branch
Tracking Status
firefox92 --- fixed

People

(Reporter: agi, Assigned: agi)

References

(Blocks 1 open bug, Regressed 1 open bug)

Details

(Whiteboard: [geckoview:m92], [wptsync upstream])

Attachments

(11 files)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review

Right now the Android Emulator is stored in a tooltool archive, which makes it hard to update as the knowledge of how the emulator is packaged is not transparent in the codebase.

Instead, we should create a declarative TL job that packages the emulator so that it can be easily updated and modified.

Assignee: nobody → agi
Status: NEW → ASSIGNED

Tooltool images are hard to update because we don't provide a script to
generate the image and documentation is often inaccurate.

This patch makes it so we generate the AVD in the android-sdk TL job instead.

The ARM emulator images have very poor support and haven't been updated for a
long time.

Normally x86_64 images need KVM acceleration which is not available on build
machines (see Bug 1545497). We can work around this by starting the emulator
with the command line |--no-accel|.

The very first time an Android AVD starts it runs some one time jobs to
properly set up the AVD.

To avoid running the setup every time we run tests in automation, we can boot
the AVD before packaging it so that the testing jobs can use a "prewarmed" AVD
instead.

The SDK Tools version we're currently using is deprecated and was last released
in 2017. It's time for an upgrade!

Attachment #9229956 - Attachment description: Bug 1718341 - Use latest version of cmdtools. → Bug 1718341 - Update Android cmdtools to 4.0.
Severity: -- → S3
Priority: -- → P1
Whiteboard: [geckoview:m92]
Pushed by asferro@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/1c8844157b8d
Rename androidx86_7_0.py to android-x86_64. r=nalexander
https://hg.mozilla.org/integration/autoland/rev/ebc0d5d4f537
Rename arm-4.3 -> arm r=aklotz,nalexander
https://hg.mozilla.org/integration/autoland/rev/2b17603c5e65
Run instrumented build on x86_64. r=aklotz,glandium
https://hg.mozilla.org/integration/autoland/rev/3920b27acecb
Generate Android AVD in TL job instead of using tooltool r=aklotz,nalexander
https://hg.mozilla.org/integration/autoland/rev/03266cea345d
Use generated emulator when running WR Android jobs. r=nalexander
https://hg.mozilla.org/integration/autoland/rev/31dfce45985f
Initialize XVFB during SDK packaging. r=glandium
https://hg.mozilla.org/integration/autoland/rev/2bd647754780
Prewarm AVD before packaging r=nalexander
https://hg.mozilla.org/integration/autoland/rev/d9462c727c8f
Remove redundant override in MobileAndroidBootstrapper. r=nalexander
https://hg.mozilla.org/integration/autoland/rev/e82e752b8f44
Update Android cmdtools to 4.0. r=nalexander,glandium
https://hg.mozilla.org/integration/autoland/rev/e5bd150a58b2
Download Android AVD from TL job artifact. r=nalexander
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/29681 for changes under testing/web-platform/tests
Whiteboard: [geckoview:m92] → [geckoview:m92], [wptsync upstream]
Flags: needinfo?(agi)
Upstream PR was closed without merging
Pushed by asferro@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e7bf6deac270
Rename androidx86_7_0.py to android-x86_64. r=nalexander
https://hg.mozilla.org/integration/autoland/rev/f33b120a77d0
Rename arm-4.3 -> arm r=aklotz,nalexander
https://hg.mozilla.org/integration/autoland/rev/7723d3a9ba7f
Run instrumented build on x86_64. r=aklotz,glandium
https://hg.mozilla.org/integration/autoland/rev/8afb8fcd0dc3
Generate Android AVD in TL job instead of using tooltool r=aklotz,nalexander
https://hg.mozilla.org/integration/autoland/rev/b6c4c82d3efc
Use generated emulator when running WR Android jobs. r=nalexander
https://hg.mozilla.org/integration/autoland/rev/8ec277361e46
Initialize XVFB during SDK packaging. r=glandium
https://hg.mozilla.org/integration/autoland/rev/2b47cc469477
Prewarm AVD before packaging r=nalexander
https://hg.mozilla.org/integration/autoland/rev/09d3d3e4ce7d
Remove redundant override in MobileAndroidBootstrapper. r=nalexander
https://hg.mozilla.org/integration/autoland/rev/cf443dddb5f5
Update Android cmdtools to 4.0. r=nalexander,glandium
https://hg.mozilla.org/integration/autoland/rev/f072adb45b85
Download Android AVD from TL job artifact. r=nalexander
Flags: needinfo?(agi)
Keywords: leave-open

Just noticed that the emulators don't have the keyboard enabled, which makes it
very annoying to test stuff locally.

Upstream PR was closed without merging
Pushed by asferro@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2e16fa5f0a1f
Rename androidx86_7_0.py to android-x86_64. r=nalexander
https://hg.mozilla.org/integration/autoland/rev/38d622f60fa5
Rename arm-4.3 -> arm r=aklotz,nalexander
https://hg.mozilla.org/integration/autoland/rev/176238f92cfe
Run instrumented build on x86_64. r=aklotz,glandium
https://hg.mozilla.org/integration/autoland/rev/3bd0e376de51
Generate Android AVD in TL job instead of using tooltool r=aklotz,nalexander
https://hg.mozilla.org/integration/autoland/rev/74cfe6df218b
Use generated emulator when running WR Android jobs. r=nalexander
https://hg.mozilla.org/integration/autoland/rev/5e76806752c8
Initialize XVFB during SDK packaging. r=glandium
https://hg.mozilla.org/integration/autoland/rev/c7de56a1f886
Prewarm AVD before packaging r=nalexander
https://hg.mozilla.org/integration/autoland/rev/31a57851c6d1
Remove redundant override in MobileAndroidBootstrapper. r=nalexander
https://hg.mozilla.org/integration/autoland/rev/a87639f2921b
Update Android cmdtools to 4.0. r=nalexander,glandium
https://hg.mozilla.org/integration/autoland/rev/a15b3b87d71e
Download Android AVD from TL job artifact. r=nalexander
Upstream PR was closed without merging
Pushed by asferro@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e5f7e5f1bf6f
Rename androidx86_7_0.py to android-x86_64. r=nalexander
https://hg.mozilla.org/integration/autoland/rev/b7a481fdfc02
Rename arm-4.3 -> arm r=aklotz,nalexander
https://hg.mozilla.org/integration/autoland/rev/59beb0677c0f
Run instrumented build on x86_64. r=aklotz,glandium
https://hg.mozilla.org/integration/autoland/rev/29d7955f3d67
Generate Android AVD in TL job instead of using tooltool r=aklotz,nalexander
https://hg.mozilla.org/integration/autoland/rev/4beb405194e3
Use generated emulator when running WR Android jobs. r=nalexander
https://hg.mozilla.org/integration/autoland/rev/d4f446f77445
Initialize XVFB during SDK packaging. r=glandium
https://hg.mozilla.org/integration/autoland/rev/278f19a3843c
Prewarm AVD before packaging r=nalexander
https://hg.mozilla.org/integration/autoland/rev/602cbe55764d
Remove redundant override in MobileAndroidBootstrapper. r=nalexander
https://hg.mozilla.org/integration/autoland/rev/34c210663337
Update Android cmdtools to 4.0. r=nalexander,glandium
https://hg.mozilla.org/integration/autoland/rev/f970d5a5fb95
Download Android AVD from TL job artifact. r=nalexander
Flags: needinfo?(agi)
Pushed by asferro@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/cb03ecaab939
Enable keyboard in Android AVDs. r=nalexander
Regressions: 1722386
Regressions: 1722416
Upstream PR merged by moz-wptsync-bot
You need to log in before you can comment on or make changes to this bug.