-
[OPIK-6707] [CI] feat: add v2 E2E PR-gate workflow + wire Allure reporter (#6876)
发布于
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 watchand 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.actionTimeoutis the Playwright equivalent of page.setDefaultTimeout —
applies to every action (click/fill/waitFor/etc.) when the call site
doesn't pass its owntimeout:. 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
下载附件