@@ -124,14 +124,39 @@ jobs:
124124 sleep 1
125125 done
126126
127- # Test 1: Try without globalSetup to isolate hang (no pipes)
128- echo "[$(date -Iseconds)] Running playwright WITHOUT globalSetup..."
129- timeout 60 env SKIP_GLOBAL_SETUP=1 CI=true ./node_modules/.bin/playwright test -c ./test/e2e/playwright.config.js --reporter=list || echo "Test 1 exited: $?"
130-
131- # Test 2: Full test run
132- echo "[$(date -Iseconds)] Running full playwright test..."
133- CI=true ./node_modules/.bin/playwright test -c ./test/e2e/playwright.config.js --reporter=list
127+ # Debug: check what playwright binary does
128+ echo "[$(date -Iseconds)] Node and Playwright info:"
129+ node --version
130+ ./node_modules/.bin/playwright --version
131+
132+ # Debug: try launching browser directly
133+ echo "[$(date -Iseconds)] Testing browser launch..."
134+ timeout 30 node -e "
135+ const { chromium } = require('playwright');
136+ (async () => {
137+ console.log('Launching browser...');
138+ const browser = await chromium.launch();
139+ console.log('Browser launched, closing...');
140+ await browser.close();
141+ console.log('Done');
142+ })();
143+ " || echo "Browser launch test exited: $?"
144+
145+ # Full test run with strace to see what it's waiting on
146+ echo "[$(date -Iseconds)] Running full playwright test with strace..."
147+ timeout 120 strace -f -e trace=read,write,poll,select,epoll_wait -o /tmp/strace.log \
148+ ./node_modules/.bin/playwright test -c ./test/e2e/playwright.config.js --reporter=list &
149+ PW_PID=$!
150+
151+ # Wait a bit then show what strace captured
152+ sleep 30
153+ echo "[$(date -Iseconds)] strace output (last 100 lines):"
154+ tail -100 /tmp/strace.log || true
155+
156+ # Wait for playwright to finish or timeout
157+ wait $PW_PID
134158 TEST_EXIT=$?
159+ echo "[$(date -Iseconds)] Playwright exited with: $TEST_EXIT"
135160
136161 # Cleanup
137162 echo "[$(date -Iseconds)] Stopping server..."
0 commit comments