This commit is contained in:
Max Schmitt 2024-09-06 20:50:13 +02:00
parent c69533b2e5
commit 8db377a081
3 changed files with 23 additions and 21 deletions

View file

@ -1,14 +1,14 @@
name: tests BiDi name: tests BiDi
on: on:
push: workflow_dispatch:
branches:
- main
- release-*
pull_request: pull_request:
branches: branches:
- main - main
- release-* paths:
- .github/workflows/tests_bidi.yml
schedule:
- cron: '0 0 * * *'
env: env:
FORCE_COLOR: 1 FORCE_COLOR: 1
@ -18,7 +18,7 @@ jobs:
test_bidi: test_bidi:
name: BiDi name: BiDi
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }} environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
runs-on: ubuntu-latest runs-on: ubuntu-24.04
permissions: permissions:
id-token: write # This is required for OIDC login (azure/login) to succeed id-token: write # This is required for OIDC login (azure/login) to succeed
contents: read # This is required for actions/checkout to succeed contents: read # This is required for actions/checkout to succeed
@ -26,23 +26,21 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
# TODO: add Firefox # TODO: add Firefox
project: [chrome] channel: [bidi-chrome-beta]
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Configure executable path - name: Install browser
run: | run: |
if [ ${{ matrix.project }} == "chrome" ]; then if [[ ${{ matrix.channel }} == bidi-chrome-beta ]]; then
echo "BIDIPATH=/opt/google/chrome/chrome" >> $GITHUB_ENV curl -O https://dl.google.com/linux/direct/google-chrome-beta_current_amd64.deb
else sudo dpkg -i google-chrome-beta_current_amd64.deb
sudo apt-get install -y firefox
echo "BIDIPATH=/usr/bin/firefox" >> $GITHUB_ENV
fi fi
- uses: ./.github/actions/run-test - uses: ./.github/actions/run-test
with: with:
node-version: 20 node-version: 20
browsers-to-install: chromium browsers-to-install: chromium
command: npm run biditest -- --project=*${{ matrix.project }}* command: npm run biditest -- --project=${{ matrix.channel }}*
bot-name: bidi-${{ matrix.project }} bot-name: bidi-${{ matrix.channel }}
flakiness-client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }} flakiness-client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
flakiness-tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }} flakiness-tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
flakiness-subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }} flakiness-subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}

View file

@ -354,7 +354,7 @@ function readDescriptors(browsersJSON: BrowsersJSON) {
export type BrowserName = 'chromium' | 'firefox' | 'webkit' | 'bidi'; export type BrowserName = 'chromium' | 'firefox' | 'webkit' | 'bidi';
type InternalTool = 'ffmpeg' | 'firefox-beta' | 'chromium-tip-of-tree' | 'android'; 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'; 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']; 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', 'darwin': '/Applications/Firefox.app/Contents/MacOS/firefox',
'win32': '\\Mozilla Firefox\\firefox.exe', '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', { this._executables.push(this._createBidiChannel('bidi-chrome-canary', {
'linux': '', 'linux': '',
'darwin': '/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary', 'darwin': '/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary',

View file

@ -47,9 +47,9 @@ const config: Config<PlaywrightWorkerOptions & PlaywrightTestOptions & TestModeW
expect: { expect: {
timeout: 10000, timeout: 10000,
}, },
maxFailures: 200, maxFailures: 0,
timeout: 30000, timeout: 15 * 1000,
globalTimeout: 5400000, globalTimeout: 30 * 60 * 1000,
workers: process.env.CI ? 2 : undefined, workers: process.env.CI ? 2 : undefined,
fullyParallel: !process.env.CI, fullyParallel: !process.env.CI,
forbidOnly: !!process.env.CI, forbidOnly: !!process.env.CI,
@ -63,7 +63,7 @@ if (executablePath && !process.env.TEST_WORKER_INDEX)
console.error(`Using executable at ${executablePath}`); console.error(`Using executable at ${executablePath}`);
const testIgnore: RegExp[] = []; const testIgnore: RegExp[] = [];
const browserToChannels = { const browserToChannels = {
'_bidiChromium': ['bidi-chrome-canary'], '_bidiChromium': ['bidi-chrome-beta'],
'_bidiFirefox': ['bidi-firefox-stable'], '_bidiFirefox': ['bidi-firefox-stable'],
}; };
for (const [key, channels] of Object.entries(browserToChannels)) { for (const [key, channels] of Object.entries(browserToChannels)) {
@ -81,7 +81,6 @@ for (const [key, channels] of Object.entries(browserToChannels)) {
channel, channel,
video: 'off', video: 'off',
launchOptions: { launchOptions: {
channel: 'bidi-chrome-canary',
executablePath, executablePath,
}, },
trace: trace ? 'on' : undefined, trace: trace ? 'on' : undefined,