Page MenuHomePhabricator

[Dev] Continuous integration's API 15 emulator should be upgraded
Closed, ResolvedPublic3 Estimated Story Points

Description

API 15 seems utterly busted lately and doesn't appear to be downloadable any more. We should use a more modern emulator in CI before it breaks. The change to upgrade the emulator should be simple but depends on this X server patch[0] and will likely have some nonzero number of workaround for Android CI.

[0] https://gerrit.wikimedia.org/r/#/c/264303/

Event Timeline

MBinder_WMF set the point value for this task to 3.May 20 2016, 6:23 PM

This is a little bit related to T123791. We really want to add multiple emulators at some point. /cc @bearND, @Mholloway

I think we should consider upping our minimum version to at least 16 after this. I don't test on API 15 any more because Android Studio no longer offers the emulator. There's also an interesting precedent set by Pokémon GO being 16+.

I wouldn't be opposed to this. The current share of API 15 devices that use our app is about 5.8%, which is less than was the share of API 10 devices when we dropped support for that.

How about we consider freezing the app for API 15 when we release the nav overhaul?

How about we consider freezing the app for API 15 when we release the nav overhaul?

This sounds good to me.

@Dbrant, this turns out to be necessary for T118102 and I'm technically working on it at the moment. I've reworked the T118102 patch so it should be mergeable (but not functional) until this is done. I've got NavViewTest done for T140019 which meets the initial goals of the task but I need to get BecauseYouReadCardViewTest, CardHeaderViewTest, and CardLargeHeaderViewTest done to really demonstrate the test pattern right. I'd like to close out T118102, bump it to an XL size, move this card into the current sprint, spawn a new 1pt task for docs, and a new medium task for BecauseYouReadCardViewTest, and two small tasks for CardHeaderViewTest, and CardLargeHeaderViewTest which would also go into the current sprint. Cool?

@Dbrant, yay! Ok, I moved T118102 to code review. It was already an XL so no other change. I updated the title of T140019 and moved it to code review. I added T133183 to Thor with the unplanned tag and put it in doing. I similarly added T144403, T144401, T144400, and T144399 with the agreed upon points but put them in to do.

Change 310356 had a related patch set uploaded (by Niedzielski):
Annotate tests that do not require a WebView

https://gerrit.wikimedia.org/r/310356

Change 310356 merged by jenkins-bot:
Annotate tests that do not require a WebView

https://gerrit.wikimedia.org/r/310356

Change 314770 had a related patch set uploaded (by Niedzielski):
Annotate BridgeTests as @Large

https://gerrit.wikimedia.org/r/314770

Change 314770 merged by jenkins-bot:
Annotate BridgeTests as @Large

https://gerrit.wikimedia.org/r/314770

Change 314781 had a related patch set uploaded (by Niedzielski):
Annotate TranslationTests as @Large

https://gerrit.wikimedia.org/r/314781

Change 314788 had a related patch set uploaded (by Niedzielski):
WIP: Android: upgrade emulator to API 24

https://gerrit.wikimedia.org/r/314788

Change 314781 merged by jenkins-bot:
Upgrade TranslationTests to JUnit 4

https://gerrit.wikimedia.org/r/314781

Change 264303 had a related patch set uploaded (by Niedzielski):
Add Xdummy daemon

https://gerrit.wikimedia.org/r/264303

Change 314788 merged by jenkins-bot:
Android: upgrade emulator to API 24

https://gerrit.wikimedia.org/r/314788

Testing is still a little flakier than I'd like but I'm calling this task dunziez. There's an open Xdummy patch that I'm told will be cherry picked. We now have almost 200 tests executed in CI.

https://integration.wikimedia.org/ci/job/apps-android-wikipedia-periodic-test/925/

Change 264303 merged by Dzahn:
contint: add module xdummy for Jenkins' Android emulation tests

https://gerrit.wikimedia.org/r/264303

@Niedzielski Hello:) I just found this line from 2016 "contint: add module xdummy for Jenkins' Android emulation tests" in git lot which brought me to this ticket. It said:

Xdummy is an Xorg virtual display that X11 clients may show windows on
just like a desktop machine. This functionality is needed by the
Jenkins' Android emulation tests which include view tests that are
screen captured. Xvfb does not support GLX extensions, which the Android
emulator requires, so it cannot be used.

My question is.. is this all still a thing nowadays as it was back then or is that all history?

Background is we are auditing for unused code and found the "xdummy" puppet module that was created for this back then.

Cheers, Daniel

My question is.. is this all still a thing nowadays as it was back then or is that all history?

Background is we are auditing for unused code and found the "xdummy" puppet module that was created for this back then.

Good catch, @Dzahn
This is no longer necessary, and can be removed. 👍

Change 745287 had a related patch set uploaded (by Ladsgroup; author: Amir Sarabadani):

[operations/puppet@production] xdummy: Remove xdummy

https://gerrit.wikimedia.org/r/745287

Change 745287 merged by Ladsgroup:

[operations/puppet@production] xdummy: Remove xdummy

https://gerrit.wikimedia.org/r/745287

Thanks @Dbrant and @Ladsgroup for already removing it :))