diff --git a/.github/workflows/tests_bidi.yml b/.github/workflows/tests_bidi.yml index 84e800bf94..7ef678b726 100644 --- a/.github/workflows/tests_bidi.yml +++ b/.github/workflows/tests_bidi.yml @@ -1,14 +1,14 @@ name: tests BiDi on: - push: - branches: - - main - - release-* + workflow_dispatch: pull_request: branches: - main - - release-* + paths: + - .github/workflows/tests_bidi.yml + schedule: + - cron: '0 0 * * *' env: FORCE_COLOR: 1 @@ -18,7 +18,7 @@ jobs: test_bidi: name: BiDi environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }} - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 permissions: id-token: write # This is required for OIDC login (azure/login) to succeed contents: read # This is required for actions/checkout to succeed @@ -26,23 +26,21 @@ jobs: fail-fast: false matrix: # TODO: add Firefox - project: [chrome] + channel: [bidi-chrome-beta] steps: - uses: actions/checkout@v4 - - name: Configure executable path + - name: Install browser run: | - if [ ${{ matrix.project }} == "chrome" ]; then - echo "BIDIPATH=/opt/google/chrome/chrome" >> $GITHUB_ENV - else - sudo apt-get install -y firefox - echo "BIDIPATH=/usr/bin/firefox" >> $GITHUB_ENV + if [[ ${{ matrix.channel }} == bidi-chrome-beta ]]; then + curl -O https://dl.google.com/linux/direct/google-chrome-beta_current_amd64.deb + sudo dpkg -i google-chrome-beta_current_amd64.deb fi - uses: ./.github/actions/run-test with: node-version: 20 browsers-to-install: chromium - command: npm run biditest -- --project=*${{ matrix.project }}* - bot-name: bidi-${{ matrix.project }} + command: npm run biditest -- --project=${{ matrix.channel }}* + bot-name: bidi-${{ matrix.channel }} flakiness-client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }} flakiness-tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }} flakiness-subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }} diff --git a/packages/playwright-core/src/server/registry/index.ts b/packages/playwright-core/src/server/registry/index.ts index cafef726fb..972e8bc985 100644 --- a/packages/playwright-core/src/server/registry/index.ts +++ b/packages/playwright-core/src/server/registry/index.ts @@ -354,7 +354,7 @@ function readDescriptors(browsersJSON: BrowsersJSON) { export type BrowserName = 'chromium' | 'firefox' | 'webkit' | 'bidi'; type InternalTool = 'ffmpeg' | 'firefox-beta' | 'chromium-tip-of-tree' | 'android'; -type BidiChannel = 'bidi-firefox-stable' | 'bidi-chrome-canary'; +type BidiChannel = 'bidi-firefox-stable' | 'bidi-chrome-canary' | 'bidi-chrome-beta'; 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-tip-of-tree']; @@ -530,6 +530,11 @@ export class Registry { 'darwin': '/Applications/Firefox.app/Contents/MacOS/firefox', 'win32': '\\Mozilla Firefox\\firefox.exe', })); + this._executables.push(this._createBidiChannel('bidi-chrome-beta', { + 'linux': '/opt/google/chrome-beta/chrome', + 'darwin': '/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta', + 'win32': `\\Google\\Chrome Beta\\Application\\chrome.exe`, + })); this._executables.push(this._createBidiChannel('bidi-chrome-canary', { 'linux': '', 'darwin': '/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary', diff --git a/tests/bidi/playwright.config.ts b/tests/bidi/playwright.config.ts index 7aa17f35ba..5b377cc704 100644 --- a/tests/bidi/playwright.config.ts +++ b/tests/bidi/playwright.config.ts @@ -47,9 +47,9 @@ const config: Config