chore: introduce experimental VRT rebaseline workflow (#13560)

This commit is contained in:
Andrey Lushnikov 2022-04-19 08:05:43 -06:00 committed by GitHub
parent 19010a5ffa
commit 8a24c95e08
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 42 additions and 6 deletions

View File

@ -7,6 +7,7 @@ yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
.env
node_modules
dist
dist-ssr

View File

@ -15,6 +15,7 @@
*/
import type { PlaywrightTestConfig } from '@playwright/test';
import path from 'path';
import { devices } from '@playwright/test';
const config: PlaywrightTestConfig = {
@ -36,12 +37,46 @@ const config: PlaywrightTestConfig = {
baseURL: 'http://localhost:3101/tests.html',
trace: 'on-first-retry',
},
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
},
],
projects: [ ],
};
if (process.env.REBASE) {
require('dotenv').config({
path: path.join(__dirname, '.env'),
});
if (!process.env.TEST_WORKER_INDEX) {
// eslint-disable-next-line no-console
console.log(`Running against service: ${process.env.SERVICE_URL}`);
}
config.timeout = 600000;
const configurations = [
{ os: 'windows', platform: 'win32' },
{ os: 'linux', platform: 'linux' },
{ os: 'macos', platform: 'darwin' },
];
for (const { os, platform } of configurations) {
config.projects.push({
name: `service-${platform}`,
_screenshotsDir: `./__screenshots__/${platform}/chromium`,
use: {
...devices['Desktop Chrome'],
connectOptions: {
timeout: 600000,
wsEndpoint: process.env.SERVICE_URL + `?os=${os}`,
},
},
});
}
} else {
config.projects = [
{
name: 'chromium',
_screenshotsDir: `./__screenshots__/${process.platform}/chromium`,
use: { ...devices['Desktop Chrome'] },
},
];
}
export default config;