Skip to content

Commit a4092bf

Browse files
committed
build(ui): Add core and wait for UI to respond before testing
Signed-off-by: Jyrki Keisala <jyrki.keisala@doubleopen.org>
1 parent 488c2cc commit a4092bf

1 file changed

Lines changed: 69 additions & 1 deletion

File tree

.github/workflows/build-and-test.yml

Lines changed: 69 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)