Sync vendored puppeteer to v22.4.0
Categories
(Remote Protocol :: Agent, task, P2)
Tracking
(firefox125 fixed)
| Tracking | Status | |
|---|---|---|
| firefox125 | --- | fixed |
People
(Reporter: whimboo, Assigned: whimboo)
References
()
Details
(Whiteboard: [webdriver:m10])
Attachments
(3 files, 3 obsolete files)
On bug 1877214 we synced Puppeteer 21.10.0. Now we can sync version 22.0.0 which contains support for user context and cookie.
Changes in this release:
- https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v22.0.0
- https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v22.0.0
Changes that might affect us:
- remove PUPPETEER_DOWNLOAD_PATH in favor of PUPPETEER_CACHE_DIR
- drop support for node16
While they dropped support for node 16 it should still work so that our puppeteer tests are not affected even through they run on Node 16 (bug 1875239).
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 1•1 year ago
|
||
Updated•1 year ago
|
| Assignee | ||
Comment 2•1 year ago
|
||
Depends on D200798
| Assignee | ||
Comment 3•1 year ago
|
||
Depends on D200799
| Assignee | ||
Comment 4•1 year ago
|
||
The deprecation of Node 16 and especially the new features only available starting with Node 18 causing us trouble. Here is what's broken so far:
ReadableStreamis now used for streaming data when creating PDF documents and capturing screenshotsURL.canParseis used when setting cookies, and that throws anot a functionerror
I'm going to make bug 1875239 a blocker for the next sync, but it's unclear when it will be fixed.
Alex, do you have any suggestions or workarounds that could be used? The ReadableStream is not that important because it mainly affects CDP but URL.canParse is affecting quite a lot of WebDriver BiDi tests.
Comment 5•1 year ago
|
||
Just saw this, so apologies for the delay. I think you can try to add a polyfill to your internal checkout https://developer.mozilla.org/en-US/docs/Web/API/URL/canParse_static#see_also I am not sure about details on how adding works so it might require a polyfill. There are polyfills for ReadbaleStream too https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream#see_also
| Assignee | ||
Comment 6•1 year ago
•
|
||
But that would require us to update various Puppeteer sources. I don't think that this is a good idea because it needs to be applied each time when we vendor in a new version of Puppeteer.
I spent a bit of time today and investigated other possible options. Given that bug 1875239 is actually blocked on our ubuntu1804-test docker images being more than outdated, we require the new wayland workers, which are currently created but also already available as experimental. I've asked to get node.js installed on them so it will be a version as shipped with standard Ubuntu LTS release - which should be modern enough.
I'll try it out once node.js is available: https://mozilla-hub.atlassian.net/browse/RELOPS-852
| Assignee | ||
Comment 7•1 year ago
|
||
As it was noticed by build system peers we can still build Node 18 ourselves even on Ubuntu 18.04. As such patches are now available that will upgrade our test toolchains from Node 16 (and even Node 12) to Node 18. Once that's done we can continue with this vendoring.
Note that we most likely also won't no longer need the patch Remove -S parameter in Shebang from mocha-runner script because it's not supported in CI. given that hopefully should work in Node 18 as well. I'll test that once I can use the new Node version.
Comment 8•1 year ago
|
||
https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v22.2.0 was just released.
Node18 should now be used to run the tests, but it seems we still need to remove -S.
Comment 9•1 year ago
|
||
I am getting a significant amount of intermittent failures on try with this v22.2.0 (11 so far, but I keep getting new ones on try).
Comment 10•1 year ago
|
||
Comment 11•1 year ago
|
||
Depends on D202586
Comment 12•1 year ago
|
||
Depends on D202587
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
| Assignee | ||
Comment 13•1 year ago
|
||
Version 22.3.0 got released today so I'll take that one as base.
Updated•1 year ago
|
| Assignee | ||
Comment 14•1 year ago
|
||
Sadly we cannot upgrade until bug 1882454 is fixed.
| Assignee | ||
Comment 15•1 year ago
|
||
A fix for bug 1882454 will no longer be needed for now with the workaround patch in Puppeteer which will be available with the next Puppeteer release.
As such lets wait for the next release which will also include a fix for bug 1882748 to only enable CDP or BiDi with Puppeteer. A new release most likely gets released tomorrow.
| Assignee | ||
Comment 16•1 year ago
|
||
Puppeteer version 22.4.0 is out:
https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v22.4.0
| Assignee | ||
Comment 17•1 year ago
|
||
Due to the complexity of vendoring in any new version including the investigation of failures and additional fixes we agreed on bumping the points to 5.
| Assignee | ||
Comment 18•1 year ago
|
||
For the new release we may not need any changes to test expectations. But lets see. Here a try build:
https://treeherder.mozilla.org/jobs?repo=try&revision=2e031f55d96011593d4dd755dca11cfe94cdf89d
Updated•1 year ago
|
Comment 19•1 year ago
|
||
Comment 20•1 year ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/6ad7edd829fc
https://hg.mozilla.org/mozilla-central/rev/f909192f679b
https://hg.mozilla.org/mozilla-central/rev/af1440594413
| Assignee | ||
Comment 21•1 year ago
|
||
Here the statistics for the vendoring as seen in logs for Wd jobs:
Before: "suites":249,"tests":1060,"passes":620,"pending":291,"failures":149
After: "suites":251,"tests":1050,"passes":604,"pending":333,"failures":113
Description
•