From 6b1c1e07516efd229b57a9cfd63c1cf53521e5a4 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Sun, 10 Sep 2023 08:56:04 -0700 Subject: [PATCH 1/3] Force 50% workers in CI to reduce flakiness --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b33c2545..fb003eb7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -259,12 +259,12 @@ jobs: ls -R - name: Build demo run: yarn build-demo - - name: Integration tests (core) - run: yarn test-playwright-${{ matrix.browser }} --forbid-only --workers 4 --suite=core + - name: Integration tests (core) # Tests use 50% workers to reduce flakiness + run: yarn test-playwright-${{ matrix.browser }} --workers=50% --forbid-only --suite=core - name: Integration tests (xterm-addon-canvas) - run: yarn test-playwright-${{ matrix.browser }} --forbid-only --workers 4 --suite=xterm-addon-canvas + run: yarn test-playwright-${{ matrix.browser }} --workers=50% --forbid-only --suite=xterm-addon-canvas - name: Integration tests (xterm-addon-webgl) - run: yarn test-playwright-${{ matrix.browser }} --forbid-only --workers 4 --suite=xterm-addon-webgl + run: yarn test-playwright-${{ matrix.browser }} --workers=50% --forbid-only --suite=xterm-addon-webgl test-api: needs: build From b91de01a4d6816dd565a0da0a63924c258eb7952 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Sun, 10 Sep 2023 08:56:19 -0700 Subject: [PATCH 2/3] Fix initial args not being passed through to pw --- bin/test_playwright.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/test_playwright.js b/bin/test_playwright.js index d6c9d3dd..02c2a763 100644 --- a/bin/test_playwright.js +++ b/bin/test_playwright.js @@ -35,7 +35,7 @@ function npmBinScript(script) { async function run() { for (const config of configs) { const command = npmBinScript('playwright'); - const args = ['test', '-c', config.path, ...argv.slice(2)]; + const args = ['test', '-c', config.path, ...argv]; console.log(`Running suite \x1b[1;34m${config.name}...\x1b[0m`); console.log(`\n\x1b[32m${command}\x1b[0m`, args); const run = cp.spawnSync(command, args, { From efcca3fb3e8ffdd091771ee4e68270cd3b5a5c3b Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Sun, 10 Sep 2023 08:56:36 -0700 Subject: [PATCH 3/3] Run pw tests faster on high core machines --- package.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 23661d73..4915cf3e 100644 --- a/package.json +++ b/package.json @@ -38,11 +38,11 @@ "test-api-chromium": "node ./bin/test_api.js --browser=chromium --timeout=20000", "test-api-firefox": "node ./bin/test_api.js --browser=firefox --timeout=20000", "test-api-webkit": "node ./bin/test_api.js --browser=webkit --timeout=20000", - "test-playwright": "node ./bin/test_playwright.js --workers 4", - "test-playwright-chromium": "node ./bin/test_playwright.js --workers 4 \"--project=Chrome Stable\"", - "test-playwright-firefox": "node ./bin/test_playwright.js --workers 4 \"--project=Firefox Stable\"", - "test-playwright-webkit": "node ./bin/test_playwright.js --workers 4 \"--project=WebKit\"", - "test-playwright-debug": "node ./bin/test_playwright.js --headed --workers 1 --timeout 30000", + "test-playwright": "node ./bin/test_playwright.js --workers=75%", + "test-playwright-chromium": "node ./bin/test_playwright.js --workers=75% \"--project=Chrome Stable\"", + "test-playwright-firefox": "node ./bin/test_playwright.js --workers=75% \"--project=Firefox Stable\"", + "test-playwright-webkit": "node ./bin/test_playwright.js --workers=75% \"--project=WebKit\"", + "test-playwright-debug": "node ./bin/test_playwright.js --workers=1 --headed --timeout=30000", "test-unit": "node ./bin/test.js", "test-unit-coverage": "node ./bin/test.js --coverage", "test-unit-dev": "cross-env NODE_PATH='./out' mocha",