Skip to content

Commit

Permalink
Revert "feat: switch to the Firefox Stable equivalent by default (mic…
Browse files Browse the repository at this point in the history
…rosoft#6926)"

This reverts commit a25b116.

In a discussion with Dmitry Gozman we decided to revert this and instead
proceed with the following approach:
- rename `//browser_patches/firefox` to `//browser_patches/firefox-beta`
- rename `//browser_patches/firefox-stable` folder to
  `//browser_patches/firefox`

In all of the folders, we will keep the `BUILD_NUMBER` original so that
it doesn't clash on the CDN.
  • Loading branch information
aslushnikov committed Jun 7, 2021
1 parent a25b116 commit 1360117
Show file tree
Hide file tree
Showing 9 changed files with 34 additions and 36 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/infra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ jobs:
- uses: actions/setup-node@v2
with:
node-version: 12
- uses: microsoft/playwright-github-action@v1
- run: npm ci
- run: npm run build
- run: node lib/cli/cli install-deps chromium firefox webkit
- run: npm run lint
- name: Verify clean tree
run: |
Expand All @@ -39,8 +39,8 @@ jobs:
- uses: actions/setup-node@v2
with:
node-version: 12
- uses: microsoft/playwright-github-action@v1
- run: npm ci
- run: npm run build
- run: node lib/cli/cli install-deps chromium
- run: node utils/build/update_canary_version.js --today-date
- run: utils/build/build-playwright-driver.sh
30 changes: 15 additions & 15 deletions .github/workflows/tests_secondary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -257,8 +257,8 @@ jobs:
name: chrome-stable-mac-test-results
path: test-results

firefox_beta_linux:
name: "Firefox Beta (Linux)"
firefox_stable_linux:
name: "Firefox Stable (Linux)"
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
Expand All @@ -270,20 +270,20 @@ jobs:
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
- run: npm run build
- run: node lib/cli/cli install-deps firefox
- run: node lib/cli/cli install firefox chromium
- run: node lib/cli/cli install firefox-stable chromium
- run: xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- npm run ftest
env:
PWTEST_CHANNEL: firefox-beta
PWTEST_CHANNEL: firefox-stable
- run: ./utils/upload_flakiness_dashboard.sh ./test-results/report.json
if: always()
- uses: actions/upload-artifact@v1
if: ${{ always() }}
with:
name: firefox-beta-linux-test-results
name: firefox-stable-linux-test-results
path: test-results

firefox_beta_win:
name: "Firefox Beta (Win)"
firefox_stable_win:
name: "Firefox Stable (Win)"
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
Expand All @@ -295,22 +295,22 @@ jobs:
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
- run: npm run build
- run: node lib/cli/cli install-deps chromium
- run: node lib/cli/cli install firefox chromium
- run: node lib/cli/cli install firefox-stable chromium
- run: npm run ftest
shell: bash
env:
PWTEST_CHANNEL: firefox-beta
PWTEST_CHANNEL: firefox-stable
- run: ./utils/upload_flakiness_dashboard.sh ./test-results/report.json
if: always()
shell: bash
- uses: actions/upload-artifact@v1
if: ${{ always() }}
with:
name: firefox-beta-win-test-results
name: firefox-stable-win-test-results
path: test-results

firefox_beta_mac:
name: "Firefox Beta (Mac)"
firefox_stable_mac:
name: "Firefox Stable (Mac)"
runs-on: macos-10.15
steps:
- uses: actions/checkout@v2
Expand All @@ -321,16 +321,16 @@ jobs:
env:
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
- run: npm run build
- run: node lib/cli/cli install firefox chromium
- run: node lib/cli/cli install firefox-stable chromium
- run: npm run ftest
env:
PWTEST_CHANNEL: firefox-beta
PWTEST_CHANNEL: firefox-stable
- run: ./utils/upload_flakiness_dashboard.sh ./test-results/report.json
if: always()
- uses: actions/upload-artifact@v1
if: ${{ always() }}
with:
name: firefox-beta-mac-test-results
name: firefox-stable-mac-test-results
path: test-results

edge_stable_mac:
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 🎭 Playwright

[![npm version](https://img.shields.io/npm/v/playwright.svg?style=flat)](https://www.npmjs.com/package/playwright) [![Join Slack](https://img.shields.io/badge/join-slack-infomational)](https://aka.ms/playwright-slack) <!-- GEN:chromium-version-badge -->[![Chromium version](https://img.shields.io/badge/chromium-93.0.4530.0-blue.svg?logo=google-chrome)](https://www.chromium.org/Home)<!-- GEN:stop --> <!-- GEN:firefox-version-badge -->[![Firefox version](https://img.shields.io/badge/firefox-89.0-blue.svg?logo=mozilla-firefox)](https://www.mozilla.org/en-US/firefox/new/)<!-- GEN:stop --> <!-- GEN:webkit-version-badge -->[![WebKit version](https://img.shields.io/badge/webkit-14.2-blue.svg?logo=safari)](https://webkit.org/)<!-- GEN:stop -->
[![npm version](https://img.shields.io/npm/v/playwright.svg?style=flat)](https://www.npmjs.com/package/playwright) [![Join Slack](https://img.shields.io/badge/join-slack-infomational)](https://aka.ms/playwright-slack) <!-- GEN:chromium-version-badge -->[![Chromium version](https://img.shields.io/badge/chromium-93.0.4530.0-blue.svg?logo=google-chrome)](https://www.chromium.org/Home)<!-- GEN:stop --> <!-- GEN:firefox-version-badge -->[![Firefox version](https://img.shields.io/badge/firefox-89.0b15-blue.svg?logo=mozilla-firefox)](https://www.mozilla.org/en-US/firefox/new/)<!-- GEN:stop --> <!-- GEN:webkit-version-badge -->[![WebKit version](https://img.shields.io/badge/webkit-14.2-blue.svg?logo=safari)](https://webkit.org/)<!-- GEN:stop -->

## [Documentation](https://playwright.dev) | [API reference](https://playwright.dev/docs/api/class-playwright/)

Expand All @@ -10,7 +10,7 @@ Playwright is a Node.js library to automate [Chromium](https://www.chromium.org/
| :--- | :---: | :---: | :---: |
| Chromium <!-- GEN:chromium-version -->93.0.4530.0<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| WebKit <!-- GEN:webkit-version -->14.2<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Firefox <!-- GEN:firefox-version -->89.0<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Firefox <!-- GEN:firefox-version -->89.0b15<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |

Headless execution is supported for all the browsers on all platforms. Check out [system requirements](https://playwright.dev/docs/intro/#system-requirements) for details.

Expand Down
4 changes: 2 additions & 2 deletions browsers.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
{
"name": "firefox",
"revision": "1268",
"installByDefault": false
"installByDefault": true
},
{
"name": "firefox-stable",
"revision": "1259",
"installByDefault": true
"installByDefault": false
},
{
"name": "webkit",
Expand Down
6 changes: 3 additions & 3 deletions packages/build_package.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ const PLAYWRIGHT_CORE_FILES = ['bin', 'lib', 'types', 'NOTICE', 'LICENSE', ];
const PACKAGES = {
'playwright': {
description: 'A high-level API to automate web browsers',
browsers: ['chromium', 'firefox-stable', 'webkit', 'ffmpeg'],
browsers: ['chromium', 'firefox', 'webkit', 'ffmpeg'],
// We copy README.md additionally for Playwright so that it looks nice on NPM.
files: [...PLAYWRIGHT_CORE_FILES, 'README.md'],
},
Expand All @@ -44,7 +44,7 @@ const PACKAGES = {
},
'playwright-test': {
description: 'Playwright Test Runner',
browsers: ['chromium', 'firefox-stable', 'webkit', 'ffmpeg'],
browsers: ['chromium', 'firefox', 'webkit', 'ffmpeg'],
files: PLAYWRIGHT_CORE_FILES,
name: '@playwright/test',
},
Expand All @@ -55,7 +55,7 @@ const PACKAGES = {
},
'playwright-firefox': {
description: 'A high-level API to automate Firefox',
browsers: ['firefox-stable'],
browsers: ['firefox'],
files: PLAYWRIGHT_CORE_FILES,
},
'playwright-chromium': {
Expand Down
12 changes: 5 additions & 7 deletions src/server/browserType.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,22 +35,20 @@ import { CallMetadata, SdkObject } from './instrumentation';
const ARTIFACTS_FOLDER = path.join(os.tmpdir(), 'playwright-artifacts-');

export abstract class BrowserType extends SdkObject {
private _name: 'chromium'|'firefox'|'webkit';
private _binaryName: registry.BrowserName;
private _name: registry.BrowserName;
readonly _registry: registry.Registry;
readonly _playwrightOptions: PlaywrightOptions;

constructor(name: 'chromium'|'firefox'|'webkit', binaryName: registry.BrowserName, playwrightOptions: PlaywrightOptions) {
constructor(browserName: registry.BrowserName, playwrightOptions: PlaywrightOptions) {
super(playwrightOptions.rootSdkObject, 'browser-type');
this.attribution.browserType = this;
this._playwrightOptions = playwrightOptions;
this._name = name;
this._binaryName = binaryName;
this._name = browserName;
this._registry = playwrightOptions.registry;
}

executablePath(channel?: string): string {
return this._registry.executablePath(this._binaryName) || '';
return this._registry.executablePath(this._name) || '';
}

name(): string {
Expand Down Expand Up @@ -174,7 +172,7 @@ export abstract class BrowserType extends SdkObject {

// Only validate dependencies for downloadable browsers.
if (!executablePath && !options.channel)
await validateHostRequirements(this._registry, this._binaryName);
await validateHostRequirements(this._registry, this._name);
else if (!executablePath && options.channel && this._registry.isSupportedBrowser(options.channel))
await validateHostRequirements(this._registry, options.channel as registry.BrowserName);

Expand Down
2 changes: 1 addition & 1 deletion src/server/chromium/chromium.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export class Chromium extends BrowserType {
private _devtools: CRDevTools | undefined;

constructor(playwrightOptions: PlaywrightOptions) {
super('chromium', 'chromium', playwrightOptions);
super('chromium', playwrightOptions);

if (debugMode())
this._devtools = this._createDevTools();
Expand Down
6 changes: 3 additions & 3 deletions src/server/firefox/firefox.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ import * as types from '../types';

export class Firefox extends BrowserType {
constructor(playwrightOptions: PlaywrightOptions) {
super('firefox', 'firefox-stable', playwrightOptions);
super('firefox', playwrightOptions);
}

executablePath(channel?: string): string {
if (channel) {
let executablePath = undefined;
if ((channel as any) === 'firefox-beta')
executablePath = this._registry.executablePath('firefox');
if ((channel as any) === 'firefox-stable')
executablePath = this._registry.executablePath('firefox-stable');
assert(executablePath, `unsupported firefox channel "${channel}"`);
assert(fs.existsSync(executablePath), `"${channel}" channel is not installed. Try running 'npx playwright install ${channel}'`);
return executablePath;
Expand Down
2 changes: 1 addition & 1 deletion src/server/webkit/webkit.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import { assert } from '../../utils/utils';

export class WebKit extends BrowserType {
constructor(playwrightOptions: PlaywrightOptions) {
super('webkit', 'webkit', playwrightOptions);
super('webkit', playwrightOptions);
}

executablePath(channel?: string): string {
Expand Down

0 comments on commit 1360117

Please sign in to comment.