diff --git a/.github/workflows/macos-verify.yml b/.github/workflows/macos-verify.yml index 10737842..8b6ea4af 100644 --- a/.github/workflows/macos-verify.yml +++ b/.github/workflows/macos-verify.yml @@ -82,9 +82,7 @@ jobs: uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: electron-failure-${{ github.run_id }}-${{ github.run_attempt }} - path: | - test-results - apps/tools/test-results + path: test-results if-no-files-found: ignore retention-days: 7 diff --git a/apps/tools/playwright.config.ts b/apps/tools/playwright.config.ts index 19321baa..0ba830d5 100644 --- a/apps/tools/playwright.config.ts +++ b/apps/tools/playwright.config.ts @@ -1,6 +1,8 @@ import { defineConfig } from "@playwright/test"; export default defineConfig({ + // A suite may clear only its own output, never other local evidence or profiles. + outputDir: "../../test-results/tools-e2e", testDir: "./tests", timeout: 20_000, fullyParallel: true, diff --git a/docs/development-workflow.md b/docs/development-workflow.md index d3756eec..b3ec30cf 100644 --- a/docs/development-workflow.md +++ b/docs/development-workflow.md @@ -89,6 +89,8 @@ Cache provisioning does not require copying account settings or credentials. Keep logs, screenshots, and the profile path in ignored `test-results/`, outside `build/`: the build command deletes that directory. Do not redirect into the same file that a command is reading to recover its profile path. +Playwright suites own only `test-results/electron/` and `test-results/tools-e2e/`. +Keep development evidence and profiles outside those disposable suite directories. Use `cua.getState()` for discovery. Confirm the process working directory and profile, then attach through its debugger or exact running app path. App lookup diff --git a/tests/electron/playwright.config.ts b/tests/electron/playwright.config.ts index caafae7d..aca9d54c 100644 --- a/tests/electron/playwright.config.ts +++ b/tests/electron/playwright.config.ts @@ -1,6 +1,8 @@ import { defineConfig } from "@playwright/test"; export default defineConfig({ + // A suite may clear only its own output, never other local evidence or profiles. + outputDir: "../../test-results/electron", testDir: ".", testMatch: /.*\.spec\.ts$/, globalSetup: "./global-setup.ts",