|
| 1 | +# CI Debug Changelog |
| 2 | + |
| 3 | +## Attempt 9 |
| 4 | +**Changes:** |
| 5 | +- Added `xvfb-run --auto-servernum --` prefix to Playwright command |
| 6 | +- Changed DEBUG to `pw:browser*` for browser-level debugging |
| 7 | +- Removed timeout wrapper to see actual Playwright output |
| 8 | + |
| 9 | +**Hypothesis:** Headless browser needs X virtual framebuffer (xvfb) on Linux CI |
| 10 | + |
| 11 | +--- |
| 12 | + |
| 13 | +## Attempt 8 - Playwright timed out |
| 14 | +**Changes:** |
| 15 | +- Added `--max-time 5` to curl commands to prevent hanging |
| 16 | +- Added `timeout 120` wrapper around entire Playwright command |
| 17 | + |
| 18 | +**Result:** Server & node returned 200, but Playwright timed out with exit code 124 - no output at all! |
| 19 | + |
| 20 | +--- |
| 21 | + |
| 22 | +## Attempt 7 - STUCK |
| 23 | +**Changes:** |
| 24 | +- Added diagnostic echo commands before/after Playwright |
| 25 | +- Check server status (curl) before running tests |
| 26 | +- Check Aztec node status before running tests |
| 27 | +- Added **short timeout (60s)** to force quick failure for debugging |
| 28 | + |
| 29 | +**Result:** Still no output after 9+ minutes - even echo commands not visible |
| 30 | + |
| 31 | +--- |
| 32 | + |
| 33 | +## Attempt 6 - STUCK |
| 34 | +**Changes:** |
| 35 | +- Simplified to **single browser (chromium)** in CI |
| 36 | +- Disabled `fullyParallel` in CI |
| 37 | +- Changed `yarn playwright` to `npx playwright` (avoid yarn wrapper issues) |
| 38 | +- Added `PLAYWRIGHT_BROWSERS_PATH: 0` env var |
| 39 | + |
| 40 | +**Result:** Still no output from Playwright after 10+ minutes |
| 41 | + |
| 42 | +--- |
| 43 | + |
| 44 | +## Attempt 5 - STUCK |
| 45 | +**Changes:** |
| 46 | +- Added `DEBUG: pw:api` env var for Playwright debug output |
| 47 | +- Added `--trace=on` flag to Playwright for trace recording |
| 48 | +- Added artifact upload for `test-results/` directory |
| 49 | +- Added **tmate SSH debugging** on failure (15 min timeout) |
| 50 | + |
| 51 | +**Result:** Still no output from Playwright tests after 10+ minutes |
| 52 | + |
| 53 | +--- |
| 54 | + |
| 55 | +## Attempt 4 - STUCK (tests still hanging) |
| 56 | +**Changes:** |
| 57 | +- Fixed config path: `-c ../serve.json` (path is relative to served directory `dist/`) |
| 58 | + |
| 59 | +**Result:** Server started correctly with COOP/COEP headers, but Playwright tests still hang with no output |
| 60 | + |
| 61 | +--- |
| 62 | + |
| 63 | +## Attempt 3 - FAILED |
| 64 | +**Changes:** |
| 65 | +- Added `serve.json` with COOP/COEP headers required for SharedArrayBuffer |
| 66 | +- Headers: `Cross-Origin-Opener-Policy: same-origin` and `Cross-Origin-Embedder-Policy: require-corp` |
| 67 | + |
| 68 | +**Result:** Config path wrong - serve looked in `dist/serve.json` instead of project root |
| 69 | + |
| 70 | +--- |
| 71 | + |
| 72 | +## Attempt 2 - STUCK |
| 73 | +**Changes:** |
| 74 | +- Fixed serve:static to use `dist` instead of `app/dist` (webpack outputs to `./dist/` by default) |
| 75 | +- Fixed clean script to remove `dist` instead of `app/dist` |
| 76 | + |
| 77 | +**Result:** Server started successfully (no more 404), but Playwright tests hung with no output after 34+ minutes |
| 78 | + |
| 79 | +--- |
| 80 | + |
| 81 | +## Attempt 1 (88ee488) - FAILED |
| 82 | +**Changes:** |
| 83 | +- Disabled Playwright webServer in CI (set to `undefined` when `process.env.CI`) |
| 84 | +- Start static server manually in workflow with retry loop (60s timeout) |
| 85 | +- Fixed build order: build-contracts -> deploy-contracts -> build-app |
| 86 | +- Server health check uses retry loop instead of single check |
| 87 | + |
| 88 | +**Result:** Server started but returned 404 - wrong dist path! |
| 89 | + |
| 90 | +--- |
0 commit comments