Update CI memory allocation
CI Pipeline / test (20) (pull_request) Failing after 12m6s
CI Pipeline / test (18) (pull_request) Failing after 12m23s
CI Pipeline / performance (pull_request) Has been cancelled
CI Pipeline / storybook (pull_request) Has been cancelled
CI Pipeline / e2e (firefox) (pull_request) Has been cancelled
CI Pipeline / lint (pull_request) Has been cancelled
CI Pipeline / build (pull_request) Has been cancelled
CI Pipeline / e2e (webkit) (pull_request) Has been cancelled
CI Pipeline / e2e (chromium) (pull_request) Successful in 5m49s
CI Pipeline / visual-regression (pull_request) Successful in 4m53s
CI Pipeline / test (20) (pull_request) Failing after 12m6s
CI Pipeline / test (18) (pull_request) Failing after 12m23s
CI Pipeline / performance (pull_request) Has been cancelled
CI Pipeline / storybook (pull_request) Has been cancelled
CI Pipeline / e2e (firefox) (pull_request) Has been cancelled
CI Pipeline / lint (pull_request) Has been cancelled
CI Pipeline / build (pull_request) Has been cancelled
CI Pipeline / e2e (webkit) (pull_request) Has been cancelled
CI Pipeline / e2e (chromium) (pull_request) Successful in 5m49s
CI Pipeline / visual-regression (pull_request) Successful in 4m53s
This commit is contained in:
+64
-11
@@ -93,7 +93,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
NEXT_TELEMETRY_DISABLED: "1"
|
NEXT_TELEMETRY_DISABLED: "1"
|
||||||
NODE_ENV: production
|
NODE_ENV: production
|
||||||
NODE_OPTIONS: "--max-old-space-size=4096"
|
NODE_OPTIONS: "--max-old-space-size=8192"
|
||||||
|
|
||||||
# package artifacts (keeps file count small)
|
# package artifacts (keeps file count small)
|
||||||
- name: Package E2E artifacts
|
- name: Package E2E artifacts
|
||||||
@@ -149,31 +149,84 @@ jobs:
|
|||||||
echo "$SVPID" > .next/runner.pid
|
echo "$SVPID" > .next/runner.pid
|
||||||
echo "🌐 Server PID: $SVPID"
|
echo "🌐 Server PID: $SVPID"
|
||||||
|
|
||||||
# Wait for readiness
|
# Wait for readiness with better error handling
|
||||||
echo "⏳ Waiting for server to be ready..."
|
echo "⏳ Waiting for server to be ready..."
|
||||||
npx wait-on -t 120000 "tcp:$HOST:$PORT"
|
npx wait-on -t 120000 "tcp:$HOST:$PORT"
|
||||||
curl -fsS "http://$HOST:$PORT" >/dev/null
|
|
||||||
|
# Verify server is actually responding
|
||||||
|
for i in {1..10}; do
|
||||||
|
if curl -fsS "http://$HOST:$PORT" >/dev/null 2>&1; then
|
||||||
echo "✅ App is responding at http://$HOST:$PORT"
|
echo "✅ App is responding at http://$HOST:$PORT"
|
||||||
|
break
|
||||||
|
else
|
||||||
|
echo "⏳ Attempt $i/10: Server not ready yet, waiting..."
|
||||||
|
sleep 5
|
||||||
|
if [ $i -eq 10 ]; then
|
||||||
|
echo "❌ Server failed to respond after 10 attempts"
|
||||||
|
echo "📋 Server logs:"
|
||||||
|
cat .next/runner.log || true
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Run visual regression tests with server monitoring
|
||||||
|
|
||||||
# Run visual regression tests
|
|
||||||
echo "🧪 Running visual regression tests..."
|
echo "🧪 Running visual regression tests..."
|
||||||
BASE_URL="http://$HOST:$PORT" npx playwright test tests/e2e/visual-regression.spec.ts
|
|
||||||
|
|
||||||
# Teardown
|
# Start server health monitoring in background
|
||||||
|
(
|
||||||
|
while true; do
|
||||||
|
if ! curl -fsS "http://$HOST:$PORT" >/dev/null 2>&1; then
|
||||||
|
echo "⚠️ Server health check failed - server may have crashed"
|
||||||
|
echo "📋 Current server logs:"
|
||||||
|
tail -20 .next/runner.log || true
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
sleep 10
|
||||||
|
done
|
||||||
|
) &
|
||||||
|
HEALTH_PID=$!
|
||||||
|
|
||||||
|
# Run tests with increased timeout for CI stability
|
||||||
|
BASE_URL="http://$HOST:$PORT" npx playwright test tests/e2e/visual-regression.spec.ts --timeout=120000
|
||||||
|
|
||||||
|
# Stop health monitoring
|
||||||
|
kill $HEALTH_PID 2>/dev/null || true
|
||||||
|
|
||||||
|
# Teardown with better error handling
|
||||||
echo "🧹 Cleaning up server..."
|
echo "🧹 Cleaning up server..."
|
||||||
kill "$SVPID" 2>/dev/null || true
|
kill "$SVPID" 2>/dev/null || true
|
||||||
|
|
||||||
|
# Wait for server to actually stop
|
||||||
|
for i in {1..10}; do
|
||||||
|
if ! kill -0 "$SVPID" 2>/dev/null; then
|
||||||
|
echo "✅ Server process stopped"
|
||||||
|
break
|
||||||
|
else
|
||||||
|
echo "⏳ Waiting for server to stop... ($i/10)"
|
||||||
|
sleep 2
|
||||||
|
if [ $i -eq 10 ]; then
|
||||||
|
echo "⚠️ Force killing server process"
|
||||||
|
kill -9 "$SVPID" 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
echo "✅ Server cleanup complete"
|
echo "✅ Server cleanup complete"
|
||||||
env:
|
env:
|
||||||
NEXT_TELEMETRY_DISABLED: "1"
|
NEXT_TELEMETRY_DISABLED: "1"
|
||||||
NODE_ENV: production
|
NODE_ENV: production
|
||||||
NODE_OPTIONS: "--max-old-space-size=4096"
|
NODE_OPTIONS: "--max-old-space-size=8192"
|
||||||
|
|
||||||
- name: Package visual artifacts
|
- name: Package visual artifacts
|
||||||
if: always()
|
if: always()
|
||||||
run: |
|
run: |
|
||||||
tar -czf visual-regression.tgz test-results tests/e2e/visual-regression.spec.ts-snapshots || true
|
# Include server logs for debugging
|
||||||
|
echo "📋 Server logs for debugging:"
|
||||||
|
cat .next/runner.log || echo "No server logs found"
|
||||||
|
|
||||||
|
# Package test results and logs
|
||||||
|
tar -czf visual-regression.tgz test-results tests/e2e/visual-regression.spec.ts-snapshots .next/runner.log || true
|
||||||
|
|
||||||
- name: Upload visual artifacts
|
- name: Upload visual artifacts
|
||||||
if: always()
|
if: always()
|
||||||
@@ -325,7 +378,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
NEXT_TELEMETRY_DISABLED: "1"
|
NEXT_TELEMETRY_DISABLED: "1"
|
||||||
NODE_ENV: production
|
NODE_ENV: production
|
||||||
NODE_OPTIONS: "--max-old-space-size=4096"
|
NODE_OPTIONS: "--max-old-space-size=8192"
|
||||||
|
|
||||||
- name: Upload LHCI results
|
- name: Upload LHCI results
|
||||||
if: always()
|
if: always()
|
||||||
|
|||||||
+1
-1
@@ -1 +1 @@
|
|||||||
68063
|
64286
|
||||||
|
|||||||
Reference in New Issue
Block a user