Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,9 @@ jobs:
run: npm ci
env:
DETECT_CHROMEDRIVER_VERSION: true
- name: Install xvfb (linux)
if: matrix.os == 'ubuntu-latest'
run: sudo apt-get install xvfb
- name: Run E2E on chrome (linux)
if: matrix.os == 'ubuntu-latest'
run: xvfb-run --server-args="-screen 0, 1400x1000x24" --auto-servernum npm run test:e2e:chrome
run: npm run test:e2e:chrome
- name: Set screen resolution (windows)
if: matrix.os == 'windows-latest'
run: Set-DisplayResolution -Width 1920 -Height 1080 -Force
Expand Down
21 changes: 18 additions & 3 deletions wdio.chrome.conf.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,28 @@ if (IS_CI) {
chromeArgs.push(
'--no-sandbox',
'--disable-dev-shm-usage',
'--disable-infobars',
'--enable-unsafe-swiftshader'
'--disable-infobars'
);

if (process.platform === 'linux') {
// Force one software-rendering backend instead of relying on Chrome's
// machine-dependent WebGL fallback selection.
chromeArgs.push(
'--headless=new',
'--use-gl=angle',
'--use-angle=swiftshader'
);
} else {
chromeArgs.push('--enable-unsafe-swiftshader');
}
}

if (!IS_CI && !process.env.HEADED) {
chromeArgs.push('--headless=new', '--enable-unsafe-swiftshader');
chromeArgs.push(
'--headless=new',
'--use-gl=angle',
'--use-angle=swiftshader'
);
}

export const config = {
Expand Down
6 changes: 4 additions & 2 deletions wdio.shared.conf.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export const applyTestViewport = (browser: any) =>
export const TEST_PORT = 4567;
// for slow connections try:
// DOWNLOAD_TIMEOUT=60000 && npm run test:e2e:dev
export const DOWNLOAD_TIMEOUT = Number(process.env.DOWNLOAD_TIMEOUT ?? 20000);
export const DOWNLOAD_TIMEOUT = Number(process.env.DOWNLOAD_TIMEOUT ?? 30000);

const IS_CI = !!(process.env.CI || process.env.GITHUB_ACTIONS);

Expand All @@ -68,7 +68,9 @@ export const config: Options.Testrunner = {
// ============
// Capabilities
// ============
maxInstances: IS_CI ? 1 : 6,
// WebGL rendering is resource-intensive enough that six local Chrome
// instances can starve one another and exceed view-rendering timeouts.
maxInstances: IS_CI ? 1 : 3,
//
// ===================
// Test Configurations
Expand Down
Loading