发布

  • [NA] [CI] fix: stabilize TypeScript SDK E2E tests and improve CI debugging (#5521)

    frostbyte_neo 发布于 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:

    1. build-server: builds Docker images once, saves as artifact
    2. 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

    下载附件