Closed Bug 1842198 Opened 8 months ago Closed 7 months ago

Sync vendored puppeteer to v20.9.0

Categories

(Remote Protocol :: CDP, task, P1)

task
Points:
3

Tracking

(firefox117 fixed)

RESOLVED FIXED
117 Branch
Tracking Status
firefox117 --- fixed

People

(Reporter: whimboo, Assigned: jdescottes)

References

Details

(Whiteboard: [webdriver:m8])

Attachments

(9 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

The last downstream sync happened about 2 months ago via bug 1824908 and it vendored Puppeteer v20.1.0.

Since then quite a lot of new WebDriver BiDi APIs have been added, and also a good number of tests are working with the WebDriver BiDi protocol now. We should make sure to do another sync.

https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v20.8.0

Points: --- → 3
Priority: -- → P1
Whiteboard: [webdriver:m8]
Assignee: nobody → jdescottes
Status: NEW → ASSIGNED
Depends on: 1844133

Tentatively blocking on Bug 1844133 because newly enabled tests are creating too many logs for our CI to handle. The goal of the bug is to add a hard cap to the logs of the websocket connection packets (on top of the existing truncate approach). But alternatively, Puppeteer might be updated to reduce the size of the problematic payloads, see https://github.com/puppeteer/puppeteer/issues/10582

Beyond the log issues ad additional intermittents that I still need to investigate, we have three cases of perma failures with this sync, affecting several tests.

1 - some tests are trying to spawn both headless and headful browsers at the same time (in headful.spec). This cannot work on Mozilla's headless CI as there is no display available. Affected tests:

  • TEST-UNEXPECTED-FAIL | headful tests HEADFUL should have default url when launching browser (headful.spec.js) | expected PASS
  • TEST-UNEXPECTED-FAIL | headful tests HEADFUL headless should be able to read cookies written by headful (headful.spec.js) | expected PASS
  • TEST-UNEXPECTED-FAIL | headful tests HEADFUL should close browser with beforeunload page (headful.spec.js) | expected PASS

2 - some tests are skipped unless regular install (using itOnlyRegularInstall), and on Mozilla's CI we are not using a regular install. Affected tests:

  • TEST-UNEXPECTED-MISSING Unexpected skipped Launcher specs Puppeteer Puppeteer.launch should be able to launch Chrome (launcher.spec.js)
  • TEST-UNEXPECTED-MISSING Unexpected skipped Launcher specs Puppeteer Puppeteer.executablePath should work (launcher.spec.js)

3 - similar to the previous one, a test expects to be able to get the executable path for Chrome, which probably only works with a regular install?

  • TEST-UNEXPECTED-FAIL | Launcher specs Puppeteer Puppeteer.executablePath returns executablePath for channel (launcher.spec.js) | expected PASS

For the first case, I would simply skip them on headless (even though I imagine the hardware limitation is only valid in mozilla CI for now, I don't think we should assume we can spawn headful browsers in a headless environment?).

For the second and third case, maybe we need something in the test expectations to skip tests when not using a regular install?
Also maybe the test affected in the third case should also use itOnlyRegularInstall? Although I thought we moved away from using such variants of the test function and instead were now using test expectations.

v20.9.0 was released yesterday, updating the summary https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v20.9.0

Summary: Sync vendored puppeteer to v20.8.x → Sync vendored puppeteer to v20.9.x
Attachment #9344847 - Attachment description: Bug 1842198 - [remote] Sync vendored puppeteer to v20.8.3 → Bug 1842198 - [remote] Sync vendored puppeteer to v20.9.0
Attachment #9344856 - Attachment description: Bug 1842198 - [remote] Update test expectations for intermittent tests on Firefox → Bug 1842198 - [remote] Skip PDF timeout puppeteer test on Firefox
Pushed by jdescottes@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5bb547c851e8
[remote] Remove generated puppeteer artifacts from source control r=webdriver-reviewers,Sasha
https://hg.mozilla.org/integration/autoland/rev/6b20b15eb365
[remote] Update hgignore and gitignore for puppeteer generated artifacts r=webdriver-reviewers,Sasha
https://hg.mozilla.org/integration/autoland/rev/0697bb43840e
[remote] Update hgignore to ignore readme files in puppeteer packages r=Sasha
https://hg.mozilla.org/integration/autoland/rev/17e71661a8ae
[remote] Sync vendored puppeteer to v20.9.0 r=webdriver-reviewers,Sasha
https://hg.mozilla.org/integration/autoland/rev/2efbbbeaf0c8
[remote] Sync test expectations update from puppeteer PR #10611 r=webdriver-reviewers,Sasha
https://hg.mozilla.org/integration/autoland/rev/3a9451f063df
[remote] Mark all headful tests as passing only for headful with Firefox r=webdriver-reviewers,Sasha
https://hg.mozilla.org/integration/autoland/rev/eaf80e03237e
[remote] Update expectations for tests requiring regular installs r=webdriver-reviewers,Sasha
https://hg.mozilla.org/integration/autoland/rev/519eaca34fa1
[remote] Wait for about:blank navigation in page.spec.ts r=webdriver-reviewers,Sasha
https://hg.mozilla.org/integration/autoland/rev/4730bc17d93e
[remote] Skip PDF timeout puppeteer test on Firefox r=webdriver-reviewers,Sasha
Summary: Sync vendored puppeteer to v20.9.x → Sync vendored puppeteer to v20.9.0
You need to log in before you can comment on or make changes to this bug.