diff --git a/.gitea/workflows/ci-deploy.yml b/.gitea/workflows/ci-deploy.yml index 494e48b..9a0d2ce 100644 --- a/.gitea/workflows/ci-deploy.yml +++ b/.gitea/workflows/ci-deploy.yml @@ -143,7 +143,23 @@ jobs: - name: Test browser smoke flows working-directory: job-tracker-ui - run: npm run test:e2e + # This self-hosted runner has twice corrupted Playwright's installed JS/browser + # payload (invalid control bytes followed by SIGSEGV/139). Retry the complete + # suite once from a verified, clean install. The retry is intentionally bounded; + # a genuine or repeated browser-test failure still blocks deployment. + run: | + if npm run test:e2e; then + exit 0 + else + smoke_status=$? + fi + + echo "Browser smoke failed ($smoke_status) — rebuilding the browser runtime and retrying once..." + rm -rf node_modules + npm cache verify + npm ci --no-audit --no-fund --prefer-online + npx playwright install --with-deps --force chromium + npm run test:e2e - name: Build frontend working-directory: job-tracker-ui