Closed Bug 1700454 Opened 3 years ago Closed 3 years ago

Add a shared try preset for geckodriver

Categories

(Testing :: geckodriver, task, P3)

Default
task

Tracking

(firefox90 fixed)

RESOLVED FIXED
90 Branch
Tracking Status
firefox90 --- fixed

People

(Reporter: whimboo, Assigned: whimboo)

Details

Attachments

(1 file)

Similar to bug 1667325 where we added a try preset for Marionette we also need one for geckodriver.

Jobs that would be needed:

  • Rust unit tests
  • Wdspec tests
  • Subset of Browsertime tests (desktop, and Android)

It needs to be added to https://searchfox.org/mozilla-central/source/tools/tryselect/try_presets.yml.

Greg, are there some particularly short-running browsertime jobs that we could use for smoketesting that changes to geckodriver are fine?

Flags: needinfo?(gmierz2)

The amazon test on the P2, and on Linux should cover most of our use cases. If you want to check for performance changes, this set of high-value tests could be used:

Desktop: https://searchfox.org/mozilla-central/source/taskcluster/ci/test/browsertime-desktop.yml#82-89
Mobile: https://searchfox.org/mozilla-central/source/taskcluster/ci/test/browsertime-mobile.yml#169-175

Flags: needinfo?(gmierz2)

There are a lot of Amazon test flavors. So would the following perhaps match what we should run on Android?

'browsertime 'p2 'fenix !vismet 'aarch64 !live !wr 'amazon !search

Performance might be good too, so we might only have to change the above to 'vismet, and instead use 'amazon-search? What's the difference in test execution time? Probably we want to run the one that is shorter.

Flags: needinfo?(gmierz2)

Ah yes there's the amazon and amazon-search tests, the plain amazon is enough. The query looks good, I would add 'ship to it so you only run the shippable tests:

'browsertime 'p2 'fenix 'aarch64 !live !wr 'amazon !search 'ship

You may as well run vismet on them since we always take recordings in the test task and the vismet task only takes about 2-5mins to run.

Flags: needinfo?(gmierz2)
Assignee: nobody → hskupin
Status: NEW → ASSIGNED

I just pushed a try build:
https://treeherder.mozilla.org/jobs?repo=try&revision=8ba6936e86cd768bbaffa60e5ebf6871844ae999

But as it looks like it doesn't trigger the Browsertime jobs on Android that need --full to be specified.

Andrew, is there a way to get these integrated too?

Flags: needinfo?(ahal)

As it looks like Browsertime tests are missing completely even on desktop where full it not required.

Are these the ones that are disabled due to resource constraints? If so try adding disable_target_task_filter: true to your preset. The values just get forwarded in to the run function.

Flags: needinfo?(ahal)

Thank you Andrew. I tested that but it actually didn't make a difference. But, I saw the full option for the run function, and noticed that this one is actually required locally when triggering Browsertime jobs. Changing it accordingly made it work. I will push that change and request review.

Attachment #9218556 - Attachment description: WIP: Bug 1700454 - [geckodriver] Add geckodriver try preset. → Bug 1700454 - [geckodriver] Add geckodriver try preset.

Greg, I'm having a problem with the preset and the browsertime selection. By default those tests aren't run on Android and as such are only available when specifying --full. But that option is not wanted in the try preset.

What specifically blocks us from running (even only some particular) browsertime jobs on autoland/central? As you suggested I added the Amazon search vismet ones.

Thanks.

Flags: needinfo?(gmierz2)

:whimboo, the --full flag allows you to see tasks with empty run-on-projects and any other tasks that would have been filtered out. There are some tests that should appear when --full is not provided for android, however, in this case, the android browsertime tasks are prevented from running on try by this filter: https://searchfox.org/mozilla-central/source/taskcluster/taskgraph/target_tasks.py#30

The reason we've prevented it from running when --full isn't provided is because many developers run everything they can which caused large backlogs on android. I don't want to remove this restriction though since we'll likely hit the same issue again.

Flags: needinfo?(gmierz2)

Ok, that sounds fair. But would mean that we aren't able to test any BrowserTime job on Android. How long would it actually take until a regression is noticeable?

I think before a geckodriver release we should at least run this specific BrowserTime job to ensure that this test job works.

If that is ok with you I will remove the BrowserTime entry.

Flags: needinfo?(gmierz2)

We'd see a performance regression within about 1-3 days and we'd see issues in running the tasks within 1 day (the longest being the fenix tests which run once a day).

Keeping out browsertime is fine for me, but you could leave the desktop test in it which would help catch some functional issues.

Flags: needinfo?(gmierz2)

(In reply to Greg Mierzwinski [:sparky] from comment #12)

Keeping out browsertime is fine for me, but you could leave the desktop test in it which would help catch some functional issues.

Ok, thank you for the feedback. Lets get it done this way then.

Pushed by hskupin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9e267c6cbc39
[geckodriver] Add geckodriver try preset. r=webdriver-reviewers,ahal,sparky,jdescottes DONTBUILD
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 90 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: