Compare commits
10 Commits
0ed0a2d9bb
...
0b194baf55
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0b194baf55 | ||
|
|
1ba0b4e6f9 | ||
|
|
b5249acbd1 | ||
|
|
f2613a9a90 | ||
|
|
6a0b3f6992 | ||
|
|
de2a9376a8 | ||
|
|
68134518fc | ||
|
|
f35ba6f81c | ||
|
|
54db56d92c | ||
|
|
cb759100bd |
4
.github/workflows/playwright.yml
vendored
4
.github/workflows/playwright.yml
vendored
@ -54,9 +54,9 @@ jobs:
|
|||||||
playwright:
|
playwright:
|
||||||
name: Web E2E
|
name: Web E2E
|
||||||
runs-on: [self-hosted, evoo-ci, Linux]
|
runs-on: [self-hosted, evoo-ci, Linux]
|
||||||
timeout-minutes: 30
|
timeout-minutes: 60
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ inputs.publish_report && 'playwright-publication' || 'evoo-self-hosted-heavy' }}
|
group: ${{ inputs.publish_report && 'playwright-publication' || format('playwright-{0}', github.run_id) }}
|
||||||
cancel-in-progress: false
|
cancel-in-progress: false
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
|
|||||||
4
.github/workflows/publish-server-image.yml
vendored
4
.github/workflows/publish-server-image.yml
vendored
@ -53,10 +53,6 @@ jobs:
|
|||||||
if: github.event_name == 'pull_request'
|
if: github.event_name == 'pull_request'
|
||||||
runs-on: [self-hosted, evoo-ci, Linux]
|
runs-on: [self-hosted, evoo-ci, Linux]
|
||||||
timeout-minutes: 90
|
timeout-minutes: 90
|
||||||
# Same pool as Web E2E; image builds starve the dev servers Playwright needs.
|
|
||||||
concurrency:
|
|
||||||
group: evoo-self-hosted-heavy
|
|
||||||
cancel-in-progress: false
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
strategy:
|
strategy:
|
||||||
|
|||||||
@ -226,14 +226,16 @@ export async function signup(
|
|||||||
name: string,
|
name: string,
|
||||||
testInfo?: TestInfo,
|
testInfo?: TestInfo,
|
||||||
) {
|
) {
|
||||||
|
const headingTimeout = process.env.CI ? 15_000 : 5_000;
|
||||||
|
const retryTimeout = process.env.CI ? 120_000 : 45_000;
|
||||||
await expect(async () => {
|
await expect(async () => {
|
||||||
await page.goto("/sign-up", { waitUntil: "domcontentloaded" });
|
await page.goto("/sign-up", { waitUntil: "domcontentloaded" });
|
||||||
await expect(
|
await expect(
|
||||||
page.getByRole("heading", { name: /Create your evOo|Dein evOo erstellen/i }),
|
page.getByRole("heading", { name: /Create your evOo|Dein evOo erstellen/i }),
|
||||||
).toBeVisible({
|
).toBeVisible({
|
||||||
timeout: 5_000,
|
timeout: headingTimeout,
|
||||||
});
|
});
|
||||||
}).toPass({ timeout: 45_000 });
|
}).toPass({ timeout: retryTimeout });
|
||||||
if (testInfo) await captureScreenshot(page, testInfo, "01-sign-up");
|
if (testInfo) await captureScreenshot(page, testInfo, "01-sign-up");
|
||||||
await page.getByPlaceholder(/Your name|Dein Name/i).fill(name);
|
await page.getByPlaceholder(/Your name|Dein Name/i).fill(name);
|
||||||
await page.getByPlaceholder(/Your email address|Deine E-Mail-Adresse/i).fill(email);
|
await page.getByPlaceholder(/Your email address|Deine E-Mail-Adresse/i).fill(email);
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import { defineConfig, devices } from "@playwright/test";
|
import { defineConfig, devices } from "@playwright/test";
|
||||||
import { isRealSandboxProvider } from "./e2e/helpers";
|
import { isRealSandboxProvider } from "./e2e/helpers";
|
||||||
|
|
||||||
|
const ci = Boolean(process.env.CI);
|
||||||
const webPort = Number(process.env.WEB_PORT ?? 5173);
|
const webPort = Number(process.env.WEB_PORT ?? 5173);
|
||||||
const baseURL = process.env.PLAYWRIGHT_BASE_URL ?? `http://127.0.0.1:${webPort}`;
|
const baseURL = process.env.PLAYWRIGHT_BASE_URL ?? `http://127.0.0.1:${webPort}`;
|
||||||
const realSandbox = isRealSandboxProvider();
|
const realSandbox = isRealSandboxProvider();
|
||||||
@ -32,6 +33,6 @@ export default defineConfig({
|
|||||||
command: "pnpm dev",
|
command: "pnpm dev",
|
||||||
url: baseURL,
|
url: baseURL,
|
||||||
reuseExistingServer: !process.env.CI,
|
reuseExistingServer: !process.env.CI,
|
||||||
timeout: 120_000,
|
timeout: ci ? 180_000 : 120_000,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@ -256,7 +256,7 @@ async function main() {
|
|||||||
port: apiPort,
|
port: apiPort,
|
||||||
hostname: "127.0.0.1",
|
hostname: "127.0.0.1",
|
||||||
});
|
});
|
||||||
await waitForHealth(`http://127.0.0.1:${apiPort}/health`, 15_000);
|
await waitForHealth(`http://127.0.0.1:${apiPort}/health`, process.env.CI ? 30_000 : 15_000);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
execSync("rm -rf apps/web/node_modules/.vite node_modules/.vite", {
|
execSync("rm -rf apps/web/node_modules/.vite node_modules/.vite", {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user