@@ -246,8 +246,76 @@ jobs:
246246 - name : Install Playwright Browsers
247247 run : pnpm -C ui exec playwright install --with-deps
248248
249+ - name : Start core services
250+ run : docker compose up -d core
251+
252+ - name : Wait for core readiness
253+ run : |
254+ echo "Waiting for core liveness endpoint..."
255+ for i in {1..60}; do
256+ if curl -fsS http://127.0.0.1:8080/api/v1/liveness >/dev/null; then
257+ echo "Core liveness endpoint is available."
258+ break
259+ fi
260+
261+ if [ $i -eq 60 ]; then
262+ echo "Core failed to report healthy within 120 seconds" >&2
263+ docker compose logs core
264+ exit 1
265+ fi
266+
267+ sleep 2
268+ done
269+
249270 - name : Run Playwright tests
250- run : pnpm -C ui test:e2e
271+ env :
272+ PLAYWRIGHT_TEST_BASE_URL : http://127.0.0.1:8082
273+ VITE_BASEPATH : /
274+ VITE_API_URL : http://127.0.0.1:8080
275+ VITE_AUTHORITY : http://127.0.0.1:8081/realms/master
276+ VITE_UI_URL : http://127.0.0.1:8082/
277+ run : |
278+ set -euo pipefail
279+
280+ pnpm -C ui dev --host 0.0.0.0 --port 8082 > ui-dev.log 2>&1 &
281+ UI_DEV_PID=$!
282+
283+ cleanup() {
284+ if ps -p $UI_DEV_PID > /dev/null 2>&1; then
285+ kill $UI_DEV_PID || true
286+ fi
287+ }
288+ trap cleanup EXIT
289+
290+ echo "Waiting for UI dev server to respond on http://127.0.0.1:8082 ..."
291+ for i in {1..60}; do
292+ if ! ps -p $UI_DEV_PID > /dev/null 2>&1; then
293+ echo "UI dev server process exited unexpectedly. Recent logs:"
294+ tail -n 200 ui-dev.log || true
295+ exit 1
296+ fi
297+
298+ if curl -fsS http://127.0.0.1:8082 >/dev/null; then
299+ echo "UI dev server is responding."
300+ break
301+ fi
302+ if [ $i -eq 60 ]; then
303+ echo "UI dev server failed to start within 120 seconds" >&2
304+ tail -n 200 ui-dev.log || true
305+ exit 1
306+ fi
307+ sleep 2
308+ done
309+
310+ pnpm -C ui test:e2e
311+
312+ - name : Upload UI dev log
313+ if : success() || failure()
314+ uses : actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
315+ with :
316+ name : ui-dev-log
317+ path : ui-dev.log
318+ retention-days : 7
251319
252320 - name : Upload Playwright report
253321 uses : actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
0 commit comments