-
[NA] [CI] fix: stabilize TypeScript SDK E2E tests and improve CI debugging (#5521)
发布于
2026-03-05 13:51:43 +00:00 - [NA] [CI] fix: stabilize TypeScript SDK E2E tests and improve CI debugging
- Add --retry 2 to integration tests for transient LLM API failures
- Bump timeouts on frequently failing tests (QARelevanceJudge 60s->120s,
multipleMetrics 90s->180s, evaluatePrompt lifecycle 60s->120s) - Fix backend log capture using wrong container name (opik-backend-1 vs
opik-opik-backend-1) in both TS and Python SDK workflows - Add JUnit test report publishing to TS SDK workflow for better
failure visibility in PR checks - Fix annotation-queues race condition waiting for threadModelId
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- fix(ci): use single Opik server for all Node version tests
Restructure the TS SDK E2E workflow from 3 parallel matrix jobs (each
building its own Opik server) to a single job that builds the server
once and runs tests sequentially for Node 18, 20, and 22.This eliminates 2 redundant Docker builds (~5-10 min each) and avoids
the 9.4% CI failure rate from Docker build flakiness. Each Node version
still gets its own JUnit test report.Uses
if: always()on Node 20/22 steps so a failure in one version
doesn't skip the others.Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- fix(ci): build Opik once, run Node version tests in parallel
Restructure the TS SDK E2E workflow into two jobs:
- build-server: builds Docker images once, saves as artifact
- run-e2e (matrix): downloads pre-built images, starts server,
runs tests in parallel for Node 18, 20, 22
This eliminates 2 redundant Docker builds while keeping parallel
test execution across Node versions. Each matrix job loads the
pre-built images via docker load and starts the server without
rebuilding.Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- revert: restore original matrix pattern for Node version tests
The build-once + artifact approach adds too much overhead from
docker save/load (~5+ min) to be worthwhile. Revert to the original
parallel matrix pattern where each Node version job builds its own
server.Keeps all other fixes: retry, timeout bumps, JUnit reports, dynamic
container name, annotation-queues race fix.Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- revert: remove sdk-e2e-tests.yaml change (Python SDK, out of scope)
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- fix(ci): publish test results in separate job to avoid overwriting
Matrix jobs were overwriting each other's PR comment. Now each matrix
job uploads JUnit XML as an artifact, and a separate publish-results
job collects all 3 and publishes a single combined report.Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- Revert "fix(ci): publish test results in separate job to avoid overwriting"
This reverts commit 57fcb9aeaf8081bf251fd6a4aa630e4958f421da.
Co-authored-by: Andrei Căutișanu andreicautisanu@ip-192-168-1-151.eu-west-1.compute.internal
Co-authored-by: Claude Opus 4.6 (1M context) noreply@anthropic.com下载附件