fix(ci): expose browser progress and retain failure diagnostics
CI and Deploy / test (push) Failing after 1h12m6s
CI and Deploy / deploy (push) Has been skipped

This commit is contained in:
cesnimda
2026-10-20 08:32:41 +02:00
parent 2278473763
commit 32bc65c60b
3 changed files with 22 additions and 1 deletions
+10
View File
@@ -329,6 +329,16 @@ jobs:
echo "Browser smoke process crashed with SIGSEGV — retrying the unchanged suite once..."
npm run test:e2e
- name: Preserve browser diagnostics
if: always()
uses: actions/upload-artifact@v3
with:
name: browser-diagnostics
path: |
job-tracker-ui/.artifacts/playwright-results.json
job-tracker-ui/test-results
retention-days: 7
deploy:
needs: test
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
@@ -0,0 +1,9 @@
# Browser CI diagnostic repair — 20 October 2026
Run 821, attempt 2, tested main commit `2278473763848254c12d65c1062109eb1b7dc4cf`. Its backend build, 1,054 backend tests, 824 frontend tests, dependency policy, lint, TypeScript and production frontend build completed before the browser step. The browser step began at 20:37:52 UTC on 17 October and ended unsuccessfully at 20:51:55 UTC. The downloadable log ends at “Running 331 tests using 1 worker”, without an assertion, timeout or process-exit diagnostic. Deployment was skipped. Subsequent successful scheduled backup jobs do not constitute a successful application deployment.
The existing GitHub-only Playwright reporter does not emit ordinary per-test progress. The repair adds the built-in list reporter alongside GitHub annotations and a JSON report. An always-run artifact step retains the JSON result and existing failure screenshots/traces for seven days using Gitea-compatible upload-artifact v3. No tests, assertions, timeouts, retries, browser projects, authorization checks or deployment conditions are weakened. This is a diagnostic repair; the underlying termination cause is still unproven and requires the instrumented run.
Verification: all 331 tests in 53 files are still discovered. A separate temporary probe deliberately failed one ordinary assertion: the process returned 1, printed the failing test name, wrote a trace and persisted one unexpected failure and zero skipped cases in JSON. The probe is an isolated reporter self-check, not an application regression result or committed test. Application/test TypeScript passed. Lint and final hygiene are recorded before publication; the next main CI run remains authoritative for application regression and deployment.
Unfinished Phase 7 work in the original checkout is excluded. The owner has explicitly authorized this main deployment despite existing release qualifications. The temporary dev-only braces exception retains its original expiry after 31 October 2026; other dependency findings, outstanding production gates and P5-13 withholding remain unchanged. The requested Qwen model is downloaded but is not activated by this change.
+3 -1
View File
@@ -20,7 +20,9 @@ export default defineConfig({
workers: 1,
retries: process.env.CI ? 1 : 0,
metadata: { isolatedDataRoot: reuseServers ? null : dataRoot },
reporter: process.env.CI ? "github" : "list",
reporter: process.env.CI
? [["list"], ["github"], ["json", { outputFile: ".artifacts/playwright-results.json" }]]
: "list",
use: {
baseURL: appUrl,
trace: "retain-on-failure",