From 9cfe622103d7401a4136bf9f417e8b8db331a6fa Mon Sep 17 00:00:00 2001 From: cesnimda Date: Sat, 29 Aug 2026 01:55:03 +0200 Subject: [PATCH] ci: retry frontend runner crashes --- .gitea/workflows/ci-deploy.yml | 19 ++++++++++++++++++- docs/todo/work.md | 1 + 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/ci-deploy.yml b/.gitea/workflows/ci-deploy.yml index f3212f9..706a576 100644 --- a/.gitea/workflows/ci-deploy.yml +++ b/.gitea/workflows/ci-deploy.yml @@ -148,7 +148,24 @@ jobs: working-directory: job-tracker-ui # Run the WHOLE suite. Never whitelist test files here again: the previous # whitelist silently skipped new suites and let two regressions reach main. - run: npm test -- --watchAll=false --runInBand + # The self-hosted runner can also terminate Node with SIGSEGV (139) without a + # Jest assertion or diagnostic. Retry only that infrastructure signature once; + # ordinary assertion/configuration failures still fail immediately. + run: | + set +e + npm test -- --watchAll=false --runInBand + test_status=$? + set -e + + if [ "$test_status" -eq 0 ]; then + exit 0 + fi + if [ "$test_status" -ne 139 ]; then + exit "$test_status" + fi + + echo "Frontend test process crashed with SIGSEGV — retrying the complete suite once..." + npm test -- --watchAll=false --runInBand - name: Install browser smoke runtime working-directory: job-tracker-ui diff --git a/docs/todo/work.md b/docs/todo/work.md index b19a574..c069a8b 100644 --- a/docs/todo/work.md +++ b/docs/todo/work.md @@ -17,6 +17,7 @@ - [x] Added per-section Rows, Grid, Compact and Bubble presentation plus one/two-column controls; normalized them in the persisted settings model and rendered them through the shared preview/PDF engine. - [x] Added regression coverage for the revised studio workflow and shared section presentation; full verification passes with 62 frontend suites/253 tests, 709 backend tests, TypeScript and the optimized frontend build. - [x] Diagnosed release 271 as self-hosted-runner instability (test-host crash, then checksum-invalid NuGet cache entries) and added bounded clean-cache restore recovery without weakening signature, build or test gates. +- [x] Diagnosed release 273's assertion-free Node exit 139 and added a single full-suite retry only for that runner crash signature; ordinary frontend test failures remain blocking. - [x] Fixed fresh SQLite/MySQL startup ordering so the migration-owned UI-language column is not pre-created by schema reconciliation, then proved the full fresh-database path in Playwright. - [x] Visually verified the revised builder at 375 px, 768 px, and 1440 px in light/dark mode, including multiple expanded sections, add-content focus return, Customize/AI surfaces, responsive overflow, multi-page preview and searchable PDF export. - [x] Rechecked branch/status, recent CV work, existing tests/build tooling, and current builder architecture.