Commit Graph

5 Commits

Author SHA1 Message Date
Dragan Spiridonov 21eae2456f fix(ci): check vitest stdout instead of junit.xml for test results
Root cause found: junit.xml is 0 bytes because vitest writes it only
on clean process exit. When timeout sends SIGTERM, vitest is killed
before flushing the junit report.

New approach: pipe vitest output through tee to capture stdout. After
timeout kills vitest, grep the captured output for vitest's "Test
Files  X passed" summary line (printed after all tests complete but
before the process hang). If found with no failures, exit 0.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 09:03:39 +00:00
Dragan Spiridonov 2a8e21eff9 fix(ci): simplify junit check and add debug output
Previous check failed because TESTS_RUN grep returned empty.
Simplify to just check for absence of <failure tags and presence
of <testsuites tag. Add diagnostic notices to debug junit.xml state.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 07:43:40 +00:00
Dragan Spiridonov 76427caab2 fix(ci): use timeout --foreground to prevent killing wrapper script
The `timeout` command was killing the entire process group (including
the wrapper script) before the junit.xml recovery check could run.
Using `--foreground` sends the signal only to the vitest child process,
allowing the wrapper to check junit.xml and exit 0 when tests passed.

Also added diagnostic messages for when junit.xml is missing or shows
failures, and uses && || pattern for bash -e compatibility.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 20:36:41 +00:00
Dragan Spiridonov 505e2944ff fix(ci): ensure junit reporter runs for timeout recovery (#376)
Two fixes:
1. ci-vitest-run.sh now injects --reporter=junit before user args so
   junit.xml is always written even when --reporter=verbose overrides
   vitest.config.ts reporters. Also use portable grep -o instead of
   grep -oP.
2. MCP Integration Tests: add continue-on-error to dorny/test-reporter
   step which was failing the job independently of test results.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 20:04:29 +00:00
Dragan Spiridonov 3f479e4a6f fix(ci): handle vitest process hang after test completion (#376)
Vitest completes all tests but hangs due to open handles (SQLite
connections, HNSW models, timers). The `timeout 480` command kills
it with exit code 124, which CI treats as failure even though all
tests passed.

Add scripts/ci-vitest-run.sh wrapper that checks junit.xml for
actual test results when timeout kills the process. If all tests
passed, exit 0 instead of 124.

Fixes 6 CI jobs: Journey (Remaining Subdirs, Root-level, RuVector),
MCP (Integration, Handlers, Root Files).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 19:31:51 +00:00