8 Commits

Author SHA1 Message Date
wangdl
eef42d51ab ci: add NestJS Worker deploy + M-AI-01 integration tests to deploy workflow
Some checks failed
Deploy API Server / build-and-deploy (push) Failing after 43s
- Deploy zhixi-nest-worker.service after API restart
- Run test/run-integration-ci.sh with real MySQL/Redis/BullMQ
- Integration test failure blocks deployment (exit 1)
- timeout-minutes: 10 to prevent hung tests

Line: .gitea/workflows/deploy.yml:99-113

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-19 22:51:28 +08:00
wangdl
bbef7eac1d fix(M-AI-01-09): strengthen SIGKILL recovery + Document Import assertions
All checks were successful
Deploy API Server / build-and-deploy (push) Successful in 47s
- SIGKILL: enqueue job BEFORE kill, wait for pickup, verify recovery
- Document Import: track before/after KnowledgeItem IDs to prove
  Worker created them (not direct DB INSERT)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-19 22:23:42 +08:00
wangdl
5bde0a3656 fix(M-AI-01-09): enqueue jobs via BullMQ instead of MySQL INSERT
All checks were successful
Deploy API Server / build-and-deploy (push) Successful in 47s
Worker consumes from BullMQ Redis, not MySQL polling.
Replace all dbExec(INSERT INTO AiAnalysisJob) with enqueueJob()
which uses real BullMQ Queue.add() to the test Redis.

Add setRedisConfig() + enqueueJob() to integration harness.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-19 22:20:45 +08:00
wangdl
bda7f9d80a fix: BigInt comparison in MySQL test
All checks were successful
Deploy API Server / build-and-deploy (push) Successful in 49s
2026-06-19 22:15:39 +08:00
wangdl
cb9b56f0dc fix: remove status from AiAnalysisResult query (column doesn't exist)
All checks were successful
Deploy API Server / build-and-deploy (push) Successful in 48s
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-19 22:14:07 +08:00
wangdl
6e7f4b0219 fix: add updatedAt=NOW() to all INSERTs for NOT NULL columns
All checks were successful
Deploy API Server / build-and-deploy (push) Successful in 48s
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
EOF
)
2026-06-19 22:12:20 +08:00
wangdl
533b525496 fix: schema field corrections for AiAnalysisJob + User
All checks were successful
Deploy API Server / build-and-deploy (push) Successful in 47s
- User INSERT: add updatedAt=NOW() (NOT NULL, no default)
- AiAnalysisJob: retryCount→progress (column doesn't exist)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-19 22:10:07 +08:00
wangdl
ffea415613 feat(M-AI-01-09): replace mock E2E with real API/Worker integration test
All checks were successful
Deploy API Server / build-and-deploy (push) Successful in 49s
- NEW test/helpers/mock-ai-provider.ts: Mock AI HTTP server with
  normal/timeout/429/500/invalid-json behavior controls
- NEW test/helpers/integration-harness.ts: spawn real API/Worker
  processes, HTTP helpers, PrismaClient-based DB helpers
- NEW test/m-ai-01-09.worker-int-spec.ts: real integration test
  using actual MySQL/Redis/BullMQ/HTTP (Active Recall, Feynman,
  Document Import, SIGKILL recovery, provider faults, idempotency)
- NEW test/jest-worker-integration.json: Jest config with NO mocks
- DELETE test/m-ai-01-09.e2e-spec.ts: removed mock-based pseudo-e2e
- UPDATE test/run-integration-ci.sh: uses real integration config
- UPDATE package.json: test:integration:worker uses real config

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-19 22:06:52 +08:00