mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
feat: support tip-of-tree chromium channel (#13701)
This commit is contained in:
parent
3eac9c694c
commit
317b649f78
30
.github/workflows/tests_primary.yml
vendored
30
.github/workflows/tests_primary.yml
vendored
@ -55,6 +55,36 @@ jobs:
|
|||||||
name: ${{ matrix.browser }}-${{ matrix.os }}-test-results
|
name: ${{ matrix.browser }}-${{ matrix.os }}-test-results
|
||||||
path: test-results
|
path: test-results
|
||||||
|
|
||||||
|
test_linux_chromium_tot:
|
||||||
|
name: ${{ matrix.os }} (chromium tip-of-tree)
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-20.04]
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: 12
|
||||||
|
- run: npm i -g npm@8.3
|
||||||
|
- run: npm ci
|
||||||
|
env:
|
||||||
|
DEBUG: pw:install
|
||||||
|
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
|
||||||
|
- run: npm run build
|
||||||
|
- run: npx playwright install --with-deps chromium-tip-of-tree
|
||||||
|
- run: xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- npm run test -- --project=chromium
|
||||||
|
env:
|
||||||
|
PWTEST_CHANNEL: chromium-tip-of-tree
|
||||||
|
- run: ./utils/upload_flakiness_dashboard.sh ./test-results/report.json
|
||||||
|
if: always()
|
||||||
|
- uses: actions/upload-artifact@v1
|
||||||
|
if: always()
|
||||||
|
with:
|
||||||
|
name: ${{ matrix.browser }}-chromium-tip-of-tree-test-results
|
||||||
|
path: test-results
|
||||||
|
|
||||||
test_test_runner:
|
test_test_runner:
|
||||||
name: Test Runner
|
name: Test Runner
|
||||||
strategy:
|
strategy:
|
||||||
|
|||||||
77
.github/workflows/tests_secondary.yml
vendored
77
.github/workflows/tests_secondary.yml
vendored
@ -304,6 +304,83 @@ jobs:
|
|||||||
name: chrome-stable-mac-test-results
|
name: chrome-stable-mac-test-results
|
||||||
path: test-results
|
path: test-results
|
||||||
|
|
||||||
|
chromium_tot_linux:
|
||||||
|
name: "Chromium TOT (Linux)"
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: 12
|
||||||
|
- run: npm i -g npm@8.3
|
||||||
|
- run: npm ci
|
||||||
|
env:
|
||||||
|
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
|
||||||
|
- run: npm run build
|
||||||
|
- run: npx playwright install --with-deps chromium-tip-of-tree
|
||||||
|
- run: xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- npm run ctest
|
||||||
|
env:
|
||||||
|
PWTEST_CHANNEL: chromium-tip-of-tree
|
||||||
|
- run: ./utils/upload_flakiness_dashboard.sh ./test-results/report.json
|
||||||
|
if: always()
|
||||||
|
- uses: actions/upload-artifact@v1
|
||||||
|
if: ${{ always() }}
|
||||||
|
with:
|
||||||
|
name: chromium-tot-linux-test-results
|
||||||
|
path: test-results
|
||||||
|
|
||||||
|
chromium_tot_win:
|
||||||
|
name: "Chromium TOT (Win)"
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: 12
|
||||||
|
- run: npm i -g npm@8.3
|
||||||
|
- run: npm ci
|
||||||
|
env:
|
||||||
|
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
|
||||||
|
- run: npm run build
|
||||||
|
- run: npx playwright install --with-deps chromium-tip-of-tree
|
||||||
|
- run: npm run ctest
|
||||||
|
shell: bash
|
||||||
|
env:
|
||||||
|
PWTEST_CHANNEL: chromium-tip-of-tree
|
||||||
|
- run: ./utils/upload_flakiness_dashboard.sh ./test-results/report.json
|
||||||
|
if: always()
|
||||||
|
shell: bash
|
||||||
|
- uses: actions/upload-artifact@v1
|
||||||
|
if: ${{ always() }}
|
||||||
|
with:
|
||||||
|
name: chromium-tot-win-test-results
|
||||||
|
path: test-results
|
||||||
|
|
||||||
|
chromium_tot_mac:
|
||||||
|
name: "Chromium TOT (Mac)"
|
||||||
|
runs-on: macos-10.15
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: 12
|
||||||
|
- run: npm i -g npm@8.3
|
||||||
|
- run: npm ci
|
||||||
|
env:
|
||||||
|
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
|
||||||
|
- run: npm run build
|
||||||
|
- run: npx playwright install --with-deps chromium-tip-of-tree
|
||||||
|
- run: npm run ctest
|
||||||
|
env:
|
||||||
|
PWTEST_CHANNEL: chromium-tip-of-tree
|
||||||
|
- run: ./utils/upload_flakiness_dashboard.sh ./test-results/report.json
|
||||||
|
if: always()
|
||||||
|
- uses: actions/upload-artifact@v1
|
||||||
|
if: ${{ always() }}
|
||||||
|
with:
|
||||||
|
name: chromium-tot-mac-test-results
|
||||||
|
path: test-results
|
||||||
|
|
||||||
firefox_beta_linux:
|
firefox_beta_linux:
|
||||||
name: "Firefox Beta (Linux)"
|
name: "Firefox Beta (Linux)"
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
|
|||||||
@ -11,6 +11,11 @@
|
|||||||
"revision": "1003",
|
"revision": "1003",
|
||||||
"installByDefault": false
|
"installByDefault": false
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "chromium-tip-of-tree",
|
||||||
|
"revision": "1000",
|
||||||
|
"installByDefault": false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "firefox",
|
"name": "firefox",
|
||||||
"revision": "1322",
|
"revision": "1322",
|
||||||
|
|||||||
@ -77,6 +77,23 @@ const DOWNLOAD_PATHS = {
|
|||||||
'mac12-arm64': 'builds/chromium/%s/chromium-mac-arm64.zip',
|
'mac12-arm64': 'builds/chromium/%s/chromium-mac-arm64.zip',
|
||||||
'win64': 'builds/chromium/%s/chromium-win64.zip',
|
'win64': 'builds/chromium/%s/chromium-win64.zip',
|
||||||
},
|
},
|
||||||
|
'chromium-tip-of-tree': {
|
||||||
|
'<unknown>': undefined,
|
||||||
|
'generic-linux': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip',
|
||||||
|
'generic-linux-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip',
|
||||||
|
'ubuntu18.04': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip',
|
||||||
|
'ubuntu20.04': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip',
|
||||||
|
'ubuntu18.04-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip',
|
||||||
|
'ubuntu20.04-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip',
|
||||||
|
'mac10.13': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip',
|
||||||
|
'mac10.14': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip',
|
||||||
|
'mac10.15': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip',
|
||||||
|
'mac11': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip',
|
||||||
|
'mac11-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64.zip',
|
||||||
|
'mac12': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip',
|
||||||
|
'mac12-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64.zip',
|
||||||
|
'win64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-win64.zip',
|
||||||
|
},
|
||||||
'chromium-with-symbols': {
|
'chromium-with-symbols': {
|
||||||
'<unknown>': undefined,
|
'<unknown>': undefined,
|
||||||
'generic-linux': 'builds/chromium/%s/chromium-with-symbols-linux.zip',
|
'generic-linux': 'builds/chromium/%s/chromium-with-symbols-linux.zip',
|
||||||
@ -244,9 +261,9 @@ function readDescriptors(browsersJSON: BrowsersJSON) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type BrowserName = 'chromium' | 'firefox' | 'webkit';
|
export type BrowserName = 'chromium' | 'firefox' | 'webkit';
|
||||||
type InternalTool = 'ffmpeg' | 'firefox-beta' | 'chromium-with-symbols';
|
type InternalTool = 'ffmpeg' | 'firefox-beta' | 'chromium-with-symbols' | 'chromium-tip-of-tree';
|
||||||
type ChromiumChannel = 'chrome' | 'chrome-beta' | 'chrome-dev' | 'chrome-canary' | 'msedge' | 'msedge-beta' | 'msedge-dev' | 'msedge-canary';
|
type ChromiumChannel = 'chrome' | 'chrome-beta' | 'chrome-dev' | 'chrome-canary' | 'msedge' | 'msedge-beta' | 'msedge-dev' | 'msedge-canary';
|
||||||
const allDownloadable = ['chromium', 'firefox', 'webkit', 'ffmpeg', 'firefox-beta', 'chromium-with-symbols'];
|
const allDownloadable = ['chromium', 'firefox', 'webkit', 'ffmpeg', 'firefox-beta', 'chromium-with-symbols', 'chromium-tip-of-tree'];
|
||||||
|
|
||||||
export interface Executable {
|
export interface Executable {
|
||||||
type: 'browser' | 'tool' | 'channel';
|
type: 'browser' | 'tool' | 'channel';
|
||||||
@ -331,6 +348,22 @@ export class Registry {
|
|||||||
_isHermeticInstallation: true,
|
_isHermeticInstallation: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const chromiumTipOfTree = descriptors.find(d => d.name === 'chromium-tip-of-tree')!;
|
||||||
|
const chromiumTipOfTreeExecutable = findExecutablePath(chromiumTipOfTree.dir, 'chromium');
|
||||||
|
this._executables.push({
|
||||||
|
type: 'tool',
|
||||||
|
name: 'chromium-tip-of-tree',
|
||||||
|
browserName: 'chromium',
|
||||||
|
directory: chromiumTipOfTree.dir,
|
||||||
|
executablePath: () => chromiumTipOfTreeExecutable,
|
||||||
|
executablePathOrDie: (sdkLanguage: string) => executablePathOrDie('chromium-tip-of-tree', chromiumTipOfTreeExecutable, chromiumTipOfTree.installByDefault, sdkLanguage),
|
||||||
|
installType: chromiumTipOfTree.installByDefault ? 'download-by-default' : 'download-on-demand',
|
||||||
|
validateHostRequirements: (sdkLanguage: string) => this._validateHostRequirements(sdkLanguage, 'chromium', chromiumTipOfTree.dir, ['chrome-linux'], [], ['chrome-win']),
|
||||||
|
_install: () => this._downloadExecutable(chromiumTipOfTree, chromiumTipOfTreeExecutable, DOWNLOAD_PATHS['chromium-tip-of-tree'][hostPlatform], 'PLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST'),
|
||||||
|
_dependencyGroup: 'chromium',
|
||||||
|
_isHermeticInstallation: true,
|
||||||
|
});
|
||||||
|
|
||||||
this._executables.push(this._createChromiumChannel('chrome', {
|
this._executables.push(this._createChromiumChannel('chrome', {
|
||||||
'linux': '/opt/google/chrome/chrome',
|
'linux': '/opt/google/chrome/chrome',
|
||||||
'darwin': '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
|
'darwin': '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user