发布

  • [OPIK-6707] [CI] feat: add v2 E2E PR-gate workflow + wire Allure reporter (#6876)

    frostbyte_neo 发布于 2026-05-28 08:54:27 +00:00

    • [OPIK-6707] [CI] feat: add v2 E2E PR-gate workflow + wire Allure reporter

    Add end2end_suites_v2.yml mirroring the v1 PR-gate for the Opik 2.0 E2E
    suite: PR-triggered on tests_end_to_end/e2e/**, builds Opik locally with
    the 2.0 UI forced on, runs the @t1-smoke tier against localhost:5173,
    uploads Playwright report + test-results. Modernized vs v1 — drops the
    test-helper-service and Python-SDK installs (the v2 bridge auto-spawns via
    Playwright's webServer and pins its own deps), adds uv setup + bridge sync.

    Wire the allure-playwright reporter into the e2e playwright.config so the
    deployed-environment job (comet-automation-tests, separate PR) can upload
    to Allure TestOps — the suite produced no allure-results before this.

    Co-Authored-By: Claude Opus 4.7 noreply@anthropic.com

    • [OPIK-6707] [CI] feat: stream v2 PR-gate results to Allure TestOps

    Wrap the suite run in allurectl watch and add the ALLURE_* env block +
    allurectl install, mirroring the v1 PR-gate. Every run now creates a
    TestOps launch (project 1) rather than only uploading allure-results as a
    GitHub artifact. ALLURE_TOKEN already exists in the repo.

    Co-Authored-By: Claude Opus 4.7 noreply@anthropic.com

    • [OPIK-6707] [CI] refactor(e2e): wrap trace-explore suite in test.step for Allure

    So the TestOps launch (and the Playwright trace viewer) renders each test as
    a labelled timeline instead of one opaque block. Coarse phases at the test
    level (seed / navigate / verify), fine steps inside each POM method, per the
    CUJ retro rule §13. A failed assertion is now attributed to a named step at
    both granularities, so it's clear where a run stopped.

    The _seed/sdk-clients API sanity test is left flat — wrapping 3-line API
    calls in steps would just add timeline noise.

    Co-Authored-By: Claude Opus 4.7 noreply@anthropic.com

    • [OPIK-6707] [CI] fix(e2e): set actionTimeout=15s so unmarked locator.waitFor fails fast

    Without this, locator.waitFor() calls that don't pass an explicit
    timeout: inherit the test timeout (180s on the slower CUJ tests). A
    missing FE testid then burns the full test budget per attempt — observed
    on the OPIK-6597 staging run: 3× 180s waiting for an undeployed
    add-edit-rule-dialog testid.

    actionTimeout is the Playwright equivalent of page.setDefaultTimeout —
    applies to every action (click/fill/waitFor/etc.) when the call site
    doesn't pass its own timeout:. POM methods that legitimately need
    longer (trace-panel cold-load 30s, polling 90-120s) already pass
    explicit timeouts and override this default.

    Co-Authored-By: Claude Opus 4.7 noreply@anthropic.com


    Co-authored-by: Claude Opus 4.7 noreply@anthropic.com

    下载附件