web-platform-tests / interop-mobile-testing

Mobile Testing Investigation in Interop 2023
2 stars 4 forks source link

Agenda 2023-06-20 #8

Closed jgraham closed 11 months ago

jgraham commented 1 year ago
jcscottiii commented 1 year ago

Meeting Notes

Present: Sam Sneddon, James Graham, James Scott, Simon Pieters, Panos Astithas
Agenda: https://github.com/web-platform-tests/interop-2023-mobile-testing/issues/8

Topic 1: Taskcluster update
[Enable nested virtualization for wpt project workers mozilla/community-tc-config#599](https://github.com/mozilla/community-tc-config/pull/599)
Next steps if that works?
jgraham: We can just configure it and it should be fine. PR is up. Now we should think about what needs to be done in the meantime. There is some pre-existing support in the tree for running the android emulator (uploading a package and running tests against it). But no one has tried it in awhile.
panos: Do you know who did it back then?
jgraham: I ported it. Not sure if it worked for anything other than Firefox. It should be generic enough. alot of the code is in external packages. like installing the emulator or starting the emulator. Option would be to get the Firefox code working then having the other browsers to support.
panos: Could also port what we do with the Chromium CI does
jscott: Same thought but haven’t thought about the details
panos: Can ask the folks who wrote it but they are not on my team. Any code locations to look at?

Topic 2: Azure updates?
Panos: Currently a no for additional capacity. But hopeful.
jgraham: Could rearrange if we can’t get more capacity. (Running some runs less frequently)
Panos: Given that we have the initial No, we should go ahead with Plan B. And always readjust.
jgraham: Which things would web kit be happiest to run less frequently
Sam: Big thing at the moment is that majority of the runs are vanishing and not working. Are we getting less value from Edge runs
jgraham: It’s one pool
sam: We are only hitting the concurrent job limit. 
jgraham: An option would be to reduce the edge run frequency. On the 3 hourly ones, we seem to be running edge and safari. And for PRs, we end up running things on windows. The big win would be to reduce to every 6 hours. Could be safari, could be edge. Could be both. Whatever we do, we need to make sure we get a run a day from Safari.
panos: We need to solve the issues first but can start experimenting.
sam: majority of the work will be getting the ios simulator working. 
jgraham: For 80%, it could be getting most of it working locally. Then moving it Azure.
sam: Also, whats the minimum viable frequency for rounds on iOS? Maybe weekly?
jgraham: Would like daily runs. People do expect the dashboard to update daily. Else, as long as it doesn’t affect what we call an aligned run. in that case a separate view.

Topic 3: Interop score
jgraham: still scoring at 0 on the interop dashboard. Kinda half way through point 3.
jscott: I think we decided on 40% in the infra meeting
simon: Example PR: https://github.com/web-platform-tests/wpt.fyi/pull/3332 There are two files
jgraham: conversation for a different meeting.

Action Items: @past : Will ask Weizhong about the Chromium CI code @jgraham : Add code locations for existing implementation in the Github Agenda issue @jcscottiii : Will update the score on interop dashboard @jgraham : To move the infra and mobile meeting to the following week. Two 30 mins meetings

jgraham commented 1 year ago

For android/wpt the existing implementation is entirely in the wpt frontend: https://github.com/web-platform-tests/wpt/blob/master/tools/wpt/run.py#L284-L333 although it's really mostly using mozdevice for the actual android interaction (installing the emulator, starting it, uploading packages, etc.). This is at least slightly sketchy since mozdevice is quite tightly coupled to Gecko's CI, but at least when I last tried this in 2019, I think it did work OK.

WeizhongX commented 1 year ago

Read the meeting notes and it looks like using chromium side solution would be easier. The code block in [1] launches emulator and installs chrome android apk. It will be much easier if we do not plan to do anything for WebView. We do not need to use SyncParallelizer if there is no plan to use multiple emulators to run tests.

[1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/tools/blinkpy/wpt_tests/product.py;l=210-242