mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
feat(chromium): roll to Chromium 109.0.5412.0 (r1069273) (#9364)
Closes #9233
This commit is contained in:
parent
1501edefa8
commit
1875da6191
@ -10,7 +10,7 @@ Whether to run the browser in headless mode.
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
interface BrowserLaunchArgumentOptions {
|
interface BrowserLaunchArgumentOptions {
|
||||||
headless?: boolean | 'chrome';
|
headless?: boolean | 'new';
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -14,10 +14,10 @@ export interface BrowserLaunchArgumentOptions
|
|||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
|
|
||||||
| Property | Modifiers | Type | Description | Default |
|
| Property | Modifiers | Type | Description | Default |
|
||||||
| --------------------------------------------------------------------------- | --------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ |
|
| --------------------------------------------------------------------------- | --------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ |
|
||||||
| [args?](./puppeteer.browserlaunchargumentoptions.args.md) | | string\[\] | <i>(Optional)</i> Additional command line arguments to pass to the browser instance. | |
|
| [args?](./puppeteer.browserlaunchargumentoptions.args.md) | | string\[\] | <i>(Optional)</i> Additional command line arguments to pass to the browser instance. | |
|
||||||
| [debuggingPort?](./puppeteer.browserlaunchargumentoptions.debuggingport.md) | | number | <i>(Optional)</i> | |
|
| [debuggingPort?](./puppeteer.browserlaunchargumentoptions.debuggingport.md) | | number | <i>(Optional)</i> | |
|
||||||
| [devtools?](./puppeteer.browserlaunchargumentoptions.devtools.md) | | boolean | <i>(Optional)</i> Whether to auto-open a DevTools panel for each tab. If this is set to <code>true</code>, then <code>headless</code> will be forced to <code>false</code>. | <code>false</code> |
|
| [devtools?](./puppeteer.browserlaunchargumentoptions.devtools.md) | | boolean | <i>(Optional)</i> Whether to auto-open a DevTools panel for each tab. If this is set to <code>true</code>, then <code>headless</code> will be forced to <code>false</code>. | <code>false</code> |
|
||||||
| [headless?](./puppeteer.browserlaunchargumentoptions.headless.md) | | boolean \| 'chrome' | <i>(Optional)</i> Whether to run the browser in headless mode. | true |
|
| [headless?](./puppeteer.browserlaunchargumentoptions.headless.md) | | boolean \| 'new' | <i>(Optional)</i> Whether to run the browser in headless mode. | true |
|
||||||
| [userDataDir?](./puppeteer.browserlaunchargumentoptions.userdatadir.md) | | string | <i>(Optional)</i> Path to a user data directory. [see the Chromium docs](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/user_data_dir.md) for more info. | |
|
| [userDataDir?](./puppeteer.browserlaunchargumentoptions.userdatadir.md) | | string | <i>(Optional)</i> Path to a user data directory. [see the Chromium docs](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/user_data_dir.md) for more info. | |
|
||||||
|
@ -244,9 +244,7 @@ ensure this, the main `test` command runs coverage during testing.
|
|||||||
|
|
||||||
## Debugging Puppeteer
|
## Debugging Puppeteer
|
||||||
|
|
||||||
See
|
See [Debugging Tips](https://pptr.dev/guides/debugging).
|
||||||
[Debugging Tips](https://github.com/puppeteer/puppeteer/blob/main/README.md#debugging-tips)
|
|
||||||
in the readme.
|
|
||||||
|
|
||||||
# For Project Maintainers
|
# For Project Maintainers
|
||||||
|
|
||||||
@ -262,6 +260,8 @@ The following steps are needed to update the Chromium version.
|
|||||||
number.
|
number.
|
||||||
3. Update `versions.js` with the new Chromium-to-Puppeteer version mapping and
|
3. Update `versions.js` with the new Chromium-to-Puppeteer version mapping and
|
||||||
update `lastMaintainedChromiumVersion` with the latest stable Chrome version.
|
update `lastMaintainedChromiumVersion` with the latest stable Chrome version.
|
||||||
|
You can find the corresponding version by going to [omahaproxy.appspot.com](https://omahaproxy.appspot.com/) then
|
||||||
|
searching in `Find Releases` for `r<revision>`.
|
||||||
4. Run `npm run check`. If it fails, update
|
4. Run `npm run check`. If it fails, update
|
||||||
`packages/puppeteer-core/package.json` and `packages/puppeteer/package.json`
|
`packages/puppeteer-core/package.json` and `packages/puppeteer/package.json`
|
||||||
with the expected `devtools-protocol` version.
|
with the expected `devtools-protocol` version.
|
||||||
@ -272,7 +272,7 @@ The following steps are needed to update the Chromium version.
|
|||||||
change) or work around the changes in Puppeteer (if it’s not desirable to
|
change) or work around the changes in Puppeteer (if it’s not desirable to
|
||||||
change Puppeteer’s observable behavior).
|
change Puppeteer’s observable behavior).
|
||||||
7. Commit and push your changes and open a pull request. The commit message must
|
7. Commit and push your changes and open a pull request. The commit message must
|
||||||
contain the version in `Chromium <version> (<revision>)` format to ensure
|
contain the version in `Chromium <version> (r<revision>)` format to ensure
|
||||||
that [pptr.dev](https://pptr.dev/) can parse it correctly, e.g.
|
that [pptr.dev](https://pptr.dev/) can parse it correctly, e.g.
|
||||||
`'feat(chromium): roll to Chromium 90.0.4427.0 (r856583)'`.
|
`'feat(chromium): roll to Chromium 90.0.4427.0 (r856583)'`.
|
||||||
|
|
||||||
|
20
package-lock.json
generated
20
package-lock.json
generated
@ -3299,9 +3299,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/devtools-protocol": {
|
"node_modules/devtools-protocol": {
|
||||||
"version": "0.0.1056733",
|
"version": "0.0.1068969",
|
||||||
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1056733.tgz",
|
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1068969.tgz",
|
||||||
"integrity": "sha512-CmTu6SQx2g3TbZzDCAV58+LTxVdKplS7xip0g5oDXpZ+isr0rv5dDP8ToyVRywzPHkCCPKgKgScEcwz4uPWDIA=="
|
"integrity": "sha512-ATFTrPbY1dKYhPPvpjtwWKSK2mIwGmRwX54UASn9THEuIZCe2n9k3vVuMmt6jWeL+e5QaaguEv/pMyR+JQB7VQ=="
|
||||||
},
|
},
|
||||||
"node_modules/diff": {
|
"node_modules/diff": {
|
||||||
"version": "5.1.0",
|
"version": "5.1.0",
|
||||||
@ -8776,7 +8776,7 @@
|
|||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cosmiconfig": "8.0.0",
|
"cosmiconfig": "8.0.0",
|
||||||
"devtools-protocol": "0.0.1056733",
|
"devtools-protocol": "0.0.1068969",
|
||||||
"https-proxy-agent": "5.0.1",
|
"https-proxy-agent": "5.0.1",
|
||||||
"progress": "2.0.3",
|
"progress": "2.0.3",
|
||||||
"proxy-from-env": "1.1.0",
|
"proxy-from-env": "1.1.0",
|
||||||
@ -8792,7 +8792,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cross-fetch": "3.1.5",
|
"cross-fetch": "3.1.5",
|
||||||
"debug": "4.3.4",
|
"debug": "4.3.4",
|
||||||
"devtools-protocol": "0.0.1056733",
|
"devtools-protocol": "0.0.1068969",
|
||||||
"extract-zip": "2.0.1",
|
"extract-zip": "2.0.1",
|
||||||
"https-proxy-agent": "5.0.1",
|
"https-proxy-agent": "5.0.1",
|
||||||
"proxy-from-env": "1.1.0",
|
"proxy-from-env": "1.1.0",
|
||||||
@ -11132,9 +11132,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"devtools-protocol": {
|
"devtools-protocol": {
|
||||||
"version": "0.0.1056733",
|
"version": "0.0.1068969",
|
||||||
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1056733.tgz",
|
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1068969.tgz",
|
||||||
"integrity": "sha512-CmTu6SQx2g3TbZzDCAV58+LTxVdKplS7xip0g5oDXpZ+isr0rv5dDP8ToyVRywzPHkCCPKgKgScEcwz4uPWDIA=="
|
"integrity": "sha512-ATFTrPbY1dKYhPPvpjtwWKSK2mIwGmRwX54UASn9THEuIZCe2n9k3vVuMmt6jWeL+e5QaaguEv/pMyR+JQB7VQ=="
|
||||||
},
|
},
|
||||||
"diff": {
|
"diff": {
|
||||||
"version": "5.1.0",
|
"version": "5.1.0",
|
||||||
@ -13829,7 +13829,7 @@
|
|||||||
"version": "file:packages/puppeteer",
|
"version": "file:packages/puppeteer",
|
||||||
"requires": {
|
"requires": {
|
||||||
"cosmiconfig": "8.0.0",
|
"cosmiconfig": "8.0.0",
|
||||||
"devtools-protocol": "0.0.1056733",
|
"devtools-protocol": "0.0.1068969",
|
||||||
"https-proxy-agent": "5.0.1",
|
"https-proxy-agent": "5.0.1",
|
||||||
"progress": "2.0.3",
|
"progress": "2.0.3",
|
||||||
"proxy-from-env": "1.1.0",
|
"proxy-from-env": "1.1.0",
|
||||||
@ -13867,7 +13867,7 @@
|
|||||||
"requires": {
|
"requires": {
|
||||||
"cross-fetch": "3.1.5",
|
"cross-fetch": "3.1.5",
|
||||||
"debug": "4.3.4",
|
"debug": "4.3.4",
|
||||||
"devtools-protocol": "0.0.1056733",
|
"devtools-protocol": "0.0.1068969",
|
||||||
"extract-zip": "2.0.1",
|
"extract-zip": "2.0.1",
|
||||||
"https-proxy-agent": "5.0.1",
|
"https-proxy-agent": "5.0.1",
|
||||||
"proxy-from-env": "1.1.0",
|
"proxy-from-env": "1.1.0",
|
||||||
|
@ -152,7 +152,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cross-fetch": "3.1.5",
|
"cross-fetch": "3.1.5",
|
||||||
"debug": "4.3.4",
|
"debug": "4.3.4",
|
||||||
"devtools-protocol": "0.0.1056733",
|
"devtools-protocol": "0.0.1068969",
|
||||||
"extract-zip": "2.0.1",
|
"extract-zip": "2.0.1",
|
||||||
"https-proxy-agent": "5.0.1",
|
"https-proxy-agent": "5.0.1",
|
||||||
"proxy-from-env": "1.1.0",
|
"proxy-from-env": "1.1.0",
|
||||||
|
@ -204,7 +204,7 @@ export class ChromeLauncher extends ProductLauncher {
|
|||||||
}
|
}
|
||||||
if (headless) {
|
if (headless) {
|
||||||
chromeArguments.push(
|
chromeArguments.push(
|
||||||
headless === 'chrome' ? '--headless=chrome' : '--headless',
|
headless === 'new' ? '--headless=new' : '--headless',
|
||||||
'--hide-scrollbars',
|
'--hide-scrollbars',
|
||||||
'--mute-audio'
|
'--mute-audio'
|
||||||
);
|
);
|
||||||
|
@ -27,7 +27,7 @@ export interface BrowserLaunchArgumentOptions {
|
|||||||
* Whether to run the browser in headless mode.
|
* Whether to run the browser in headless mode.
|
||||||
* @defaultValue true
|
* @defaultValue true
|
||||||
*/
|
*/
|
||||||
headless?: boolean | 'chrome';
|
headless?: boolean | 'new';
|
||||||
/**
|
/**
|
||||||
* Path to a user data directory.
|
* Path to a user data directory.
|
||||||
* {@link https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/user_data_dir.md | see the Chromium docs}
|
* {@link https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/user_data_dir.md | see the Chromium docs}
|
||||||
|
@ -18,6 +18,6 @@
|
|||||||
* @internal
|
* @internal
|
||||||
*/
|
*/
|
||||||
export const PUPPETEER_REVISIONS = Object.freeze({
|
export const PUPPETEER_REVISIONS = Object.freeze({
|
||||||
chromium: '1056772',
|
chromium: '1069273',
|
||||||
firefox: 'latest',
|
firefox: 'latest',
|
||||||
});
|
});
|
||||||
|
@ -123,7 +123,7 @@
|
|||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cosmiconfig": "8.0.0",
|
"cosmiconfig": "8.0.0",
|
||||||
"devtools-protocol": "0.0.1056733",
|
"devtools-protocol": "0.0.1068969",
|
||||||
"https-proxy-agent": "5.0.1",
|
"https-proxy-agent": "5.0.1",
|
||||||
"progress": "2.0.3",
|
"progress": "2.0.3",
|
||||||
"proxy-from-env": "1.1.0",
|
"proxy-from-env": "1.1.0",
|
||||||
|
@ -2039,18 +2039,6 @@
|
|||||||
"parameters": ["chrome"],
|
"parameters": ["chrome"],
|
||||||
"expectations": ["PASS", "FAIL"]
|
"expectations": ["PASS", "FAIL"]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"testIdPattern": "[navigation.spec] navigation Page.goto should fail when navigating to bad SSL",
|
|
||||||
"platforms": ["darwin"],
|
|
||||||
"parameters": ["chrome", "headful"],
|
|
||||||
"expectations": ["FAIL"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"testIdPattern": "[navigation.spec] navigation Page.goto should fail when navigating to bad SSL after redirects",
|
|
||||||
"platforms": ["darwin"],
|
|
||||||
"parameters": ["chrome", "headful"],
|
|
||||||
"expectations": ["FAIL"]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"testIdPattern": "[click.spec] Page.click should click on checkbox input and toggle",
|
"testIdPattern": "[click.spec] Page.click should click on checkbox input and toggle",
|
||||||
"platforms": ["linux"],
|
"platforms": ["linux"],
|
||||||
|
@ -51,7 +51,7 @@
|
|||||||
"HEADLESS": "false"
|
"HEADLESS": "false"
|
||||||
},
|
},
|
||||||
"chrome-headless": {
|
"chrome-headless": {
|
||||||
"HEADLESS": "chrome"
|
"HEADLESS": "new"
|
||||||
},
|
},
|
||||||
"webDriverBiDi": {
|
"webDriverBiDi": {
|
||||||
"PUPPETEER_PROTOCOL": "webDriverBiDi"
|
"PUPPETEER_PROTOCOL": "webDriverBiDi"
|
||||||
|
@ -27,7 +27,7 @@ describe('Browser specs', function () {
|
|||||||
const version = await browser.version();
|
const version = await browser.version();
|
||||||
expect(version.length).toBeGreaterThan(0);
|
expect(version.length).toBeGreaterThan(0);
|
||||||
expect(version.startsWith('Headless')).toBe(
|
expect(version.startsWith('Headless')).toBe(
|
||||||
isHeadless && headless !== 'chrome'
|
isHeadless && headless !== 'new'
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -24,7 +24,7 @@ import path from 'path';
|
|||||||
describe('Fixtures', function () {
|
describe('Fixtures', function () {
|
||||||
it('dumpio option should work with pipe option', async () => {
|
it('dumpio option should work with pipe option', async () => {
|
||||||
const {defaultBrowserOptions, puppeteerPath, headless} = getTestState();
|
const {defaultBrowserOptions, puppeteerPath, headless} = getTestState();
|
||||||
if (headless === 'chrome') {
|
if (headless === 'new') {
|
||||||
// This test only works in the old headless mode.
|
// This test only works in the old headless mode.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -65,8 +65,11 @@ const product =
|
|||||||
|
|
||||||
const alternativeInstall = process.env['PUPPETEER_ALT_INSTALL'] || false;
|
const alternativeInstall = process.env['PUPPETEER_ALT_INSTALL'] || false;
|
||||||
|
|
||||||
const headless = (process.env['HEADLESS'] || 'true').trim().toLowerCase();
|
const headless = (process.env['HEADLESS'] || 'true').trim().toLowerCase() as
|
||||||
const isHeadless = headless === 'true' || headless === 'chrome';
|
| 'true'
|
||||||
|
| 'false'
|
||||||
|
| 'new';
|
||||||
|
const isHeadless = headless === 'true' || headless === 'new';
|
||||||
const isFirefox = product === 'firefox';
|
const isFirefox = product === 'firefox';
|
||||||
const isChrome = product === 'chrome';
|
const isChrome = product === 'chrome';
|
||||||
const protocol = process.env['PUPPETEER_PROTOCOL'] || 'cdp';
|
const protocol = process.env['PUPPETEER_PROTOCOL'] || 'cdp';
|
||||||
@ -88,7 +91,7 @@ const defaultBrowserOptions = Object.assign(
|
|||||||
{
|
{
|
||||||
handleSIGINT: true,
|
handleSIGINT: true,
|
||||||
executablePath: process.env['BINARY'],
|
executablePath: process.env['BINARY'],
|
||||||
headless: headless === 'chrome' ? ('chrome' as const) : isHeadless,
|
headless: headless === 'new' ? ('new' as const) : isHeadless,
|
||||||
dumpio: !!process.env['DUMPIO'],
|
dumpio: !!process.env['DUMPIO'],
|
||||||
protocol: protocol as 'cdp' | 'webDriverBiDi',
|
protocol: protocol as 'cdp' | 'webDriverBiDi',
|
||||||
},
|
},
|
||||||
@ -143,7 +146,7 @@ interface PuppeteerTestState {
|
|||||||
isFirefox: boolean;
|
isFirefox: boolean;
|
||||||
isChrome: boolean;
|
isChrome: boolean;
|
||||||
isHeadless: boolean;
|
isHeadless: boolean;
|
||||||
headless: string;
|
headless: 'true' | 'false' | 'new';
|
||||||
puppeteerPath: string;
|
puppeteerPath: string;
|
||||||
}
|
}
|
||||||
const state: Partial<PuppeteerTestState> = {};
|
const state: Partial<PuppeteerTestState> = {};
|
||||||
@ -172,8 +175,8 @@ if (
|
|||||||
}
|
}
|
||||||
-> mode: ${
|
-> mode: ${
|
||||||
isHeadless
|
isHeadless
|
||||||
? headless === 'chrome'
|
? headless === 'new'
|
||||||
? '--headless=chrome'
|
? '--headless=new'
|
||||||
: '--headless'
|
: '--headless'
|
||||||
: 'headful'
|
: 'headful'
|
||||||
}`
|
}`
|
||||||
|
@ -21,7 +21,6 @@ import {
|
|||||||
setupTestBrowserHooks,
|
setupTestBrowserHooks,
|
||||||
setupTestPageAndContextHooks,
|
setupTestPageAndContextHooks,
|
||||||
} from './mocha-utils.js';
|
} from './mocha-utils.js';
|
||||||
import os from 'os';
|
|
||||||
import {ServerResponse} from 'http';
|
import {ServerResponse} from 'http';
|
||||||
import {HTTPRequest} from 'puppeteer-core/internal/common/HTTPRequest.js';
|
import {HTTPRequest} from 'puppeteer-core/internal/common/HTTPRequest.js';
|
||||||
import {TimeoutError} from 'puppeteer';
|
import {TimeoutError} from 'puppeteer';
|
||||||
@ -153,20 +152,8 @@ describe('navigation', function () {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function getExpectedSSLCertMessage(): string {
|
const EXPECTED_SSL_CERT_MESSAGE_REGEX =
|
||||||
const {headless} = getTestState();
|
/net::ERR_CERT_INVALID|net::ERR_CERT_AUTHORITY_INVALID/;
|
||||||
/**
|
|
||||||
* If you are running this on pre-Catalina versions of macOS this will fail
|
|
||||||
* locally. Mac OSX Catalina outputs a different message than other
|
|
||||||
* platforms. See https://support.google.com/chrome/thread/18125056?hl=en
|
|
||||||
* for details. If you're running pre-Catalina Mac OSX this test will fail
|
|
||||||
* locally.
|
|
||||||
* In chrome-headless, the message is also different.
|
|
||||||
*/
|
|
||||||
return os.platform() === 'darwin' && headless !== 'chrome'
|
|
||||||
? 'net::ERR_CERT_INVALID'
|
|
||||||
: 'net::ERR_CERT_AUTHORITY_INVALID';
|
|
||||||
}
|
|
||||||
|
|
||||||
it('should fail when navigating to bad SSL', async () => {
|
it('should fail when navigating to bad SSL', async () => {
|
||||||
const {page, httpsServer, isChrome} = getTestState();
|
const {page, httpsServer, isChrome} = getTestState();
|
||||||
@ -189,7 +176,7 @@ describe('navigation', function () {
|
|||||||
return (error = error_);
|
return (error = error_);
|
||||||
});
|
});
|
||||||
if (isChrome) {
|
if (isChrome) {
|
||||||
expect(error.message).toContain(getExpectedSSLCertMessage());
|
expect(error.message).toMatch(EXPECTED_SSL_CERT_MESSAGE_REGEX);
|
||||||
} else {
|
} else {
|
||||||
expect(error.message).toContain('SSL_ERROR_UNKNOWN');
|
expect(error.message).toContain('SSL_ERROR_UNKNOWN');
|
||||||
}
|
}
|
||||||
@ -208,7 +195,7 @@ describe('navigation', function () {
|
|||||||
return (error = error_);
|
return (error = error_);
|
||||||
});
|
});
|
||||||
if (isChrome) {
|
if (isChrome) {
|
||||||
expect(error.message).toContain(getExpectedSSLCertMessage());
|
expect(error.message).toMatch(EXPECTED_SSL_CERT_MESSAGE_REGEX);
|
||||||
} else {
|
} else {
|
||||||
expect(error.message).toContain('SSL_ERROR_UNKNOWN');
|
expect(error.message).toContain('SSL_ERROR_UNKNOWN');
|
||||||
}
|
}
|
||||||
|
@ -230,7 +230,7 @@ describe('OOPIF', function () {
|
|||||||
it('should provide access to elements', async () => {
|
it('should provide access to elements', async () => {
|
||||||
const {server, isHeadless, headless} = getTestState();
|
const {server, isHeadless, headless} = getTestState();
|
||||||
|
|
||||||
if (!isHeadless || headless === 'chrome') {
|
if (!isHeadless || headless === 'new') {
|
||||||
// TODO: this test is partially blocked on crbug.com/1334119. Enable test once
|
// TODO: this test is partially blocked on crbug.com/1334119. Enable test once
|
||||||
// the upstream is fixed.
|
// the upstream is fixed.
|
||||||
// TLDR: when we dispatch events ot the frame the compositor might
|
// TLDR: when we dispatch events ot the frame the compositor might
|
||||||
|
@ -180,7 +180,7 @@ async function main() {
|
|||||||
fail = true;
|
fail = true;
|
||||||
recommendations.push(...recommendation);
|
recommendations.push(...recommendation);
|
||||||
} else {
|
} else {
|
||||||
console.log('Test run matches expecations');
|
console.log('Test run matches expectations');
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
@ -197,7 +197,7 @@ async function main() {
|
|||||||
});
|
});
|
||||||
if (toAdd.length) {
|
if (toAdd.length) {
|
||||||
console.log(
|
console.log(
|
||||||
'Add the following to TestExpecations.json to ignore the error:'
|
'Add the following to TestExpectations.json to ignore the error:'
|
||||||
);
|
);
|
||||||
prettyPrintJSON(
|
prettyPrintJSON(
|
||||||
toAdd.map(item => {
|
toAdd.map(item => {
|
||||||
@ -210,7 +210,7 @@ async function main() {
|
|||||||
});
|
});
|
||||||
if (toRemove.length) {
|
if (toRemove.length) {
|
||||||
console.log(
|
console.log(
|
||||||
'Remove the following from the TestExpecations.json to ignore the error:'
|
'Remove the following from the TestExpectations.json to ignore the error:'
|
||||||
);
|
);
|
||||||
prettyPrintJSON(
|
prettyPrintJSON(
|
||||||
toRemove.map(item => {
|
toRemove.map(item => {
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
const versionsPerRelease = new Map([
|
const versionsPerRelease = new Map([
|
||||||
// This is a mapping from Chromium version => Puppeteer version.
|
// This is a mapping from Chromium version => Puppeteer version.
|
||||||
// In Chromium roll patches, use `NEXT` for the Puppeteer version.
|
// In Chromium roll patches, use `NEXT` for the Puppeteer version.
|
||||||
|
['109.0.5412.0', 'NEXT'],
|
||||||
['108.0.5351.0', 'v19.2.0'],
|
['108.0.5351.0', 'v19.2.0'],
|
||||||
['107.0.5296.0', 'v18.1.0'],
|
['107.0.5296.0', 'v18.1.0'],
|
||||||
['106.0.5249.0', 'v17.1.0'],
|
['106.0.5249.0', 'v17.1.0'],
|
||||||
@ -52,8 +53,8 @@ const versionsPerRelease = new Map([
|
|||||||
['73.0.3679.0', 'v1.12.2'],
|
['73.0.3679.0', 'v1.12.2'],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// The same major version as the current Chrome Stable per https://chromestatus.com/roadmap.
|
// Should not be more then 2 major versions behind Chrome Stable (https://chromestatus.com/roadmap).
|
||||||
const lastMaintainedChromiumVersion = '106.0.5249.0';
|
const lastMaintainedChromiumVersion = '107.0.5296.0';
|
||||||
|
|
||||||
if (!versionsPerRelease.has(lastMaintainedChromiumVersion)) {
|
if (!versionsPerRelease.has(lastMaintainedChromiumVersion)) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
|
Loading…
Reference in New Issue
Block a user