Go orchestrator for the Selenoid stack — merged Allure 3 pyramid across selenoid, selenoid-ui, cm and browser nodes. Prod smoke: selenoid.qa.guru (Selenoid 3).
Workflow selenoid-tests Tests — push main, workflow_dispatch, repository_dispatch deploy-smoke.
| Job | Что делает | Gate / trigger |
|---|---|---|
go-unit |
Checkout selenoid, selenoid-ui, cm → product Go unit (+ RTL для UI) → Allure |
Matrix ×3; skip при skip_go_unit (deploy-smoke) |
go-hub |
Hub pyramid: run-go-pyramid.sh — integration, api, e2e, webdriver, playwright, min, resilience, har-prod |
Push → hub-all; prod profile → hub-prod; dispatch → slice по test_tags |
go-cm |
CM install stack (:4445/:8081) → CM pyramid slice | Push (non-prod); skipped для selenoid_qa_guru_* |
deploy-smoke-callback |
Callback в triggering repo после prod smoke | repository_dispatch + prod profile |
report |
Merge Allure → quality gate → gh-pages → TestOps upload → Telegram | После go-unit / go-hub / go-cm |
sonar |
SonarCloud analysis (отдельный workflow) | sonar.yml |
Локально: ./scripts/run-go-pyramid.sh <slice> · stand: PYRAMID_STAND=selenoid_github|selenoid_qa_guru.
| Slice | Layer | Scope | CI |
|---|---|---|---|
unit | unit | internal/*, JSON fixture parsers, product unit via run-go-unit.sh | go-unit |
integration | integration | wd · ui · pw · min · resilience packages on hub stack | go-hub (hub-all) |
api | api | Hub + UI + video-recorder HTTP/API smoke | go-hub · deploy-smoke default tag |
ui | e2e | Selenoid UI routes, VNC viewer, capabilities flow | go-hub · prod selenoid_qa_guru_e2e |
webdriver / playwright | e2e | Browser nodes — WebDriver & Playwright sessions | go-hub · browser-image dispatch |
min | unit + integration | Minimal chromium image (VNC/video off) | go-hub (hub-all) |
har-prod | e2e | HAR capture on prod hub | go-hub (hub-prod) |
cm | cm pyramid | Configuration Manager install + api/e2e | go-cm |
main)Пирамида: unit → component → integration → api → e2e → manual. ✓ = покрыто в CI или product unit.
| Component | unit | component | integration | api | e2e | CI |
|---|---|---|---|---|---|---|
| selenoid | ✓ | — | ✓ | ✓ | ✓ | go-unit + go-hub |
| selenoid-ui | ✓ | ✓ | ✓ | ✓ | ✓ | go-unit + go-hub |
| cm | ✓ | — | ✓ | ✓ | ✓ | go-unit + go-cm |
| playwright-image | ✓ | — | ✓ | ✓ | ✓ | go-hub |
| webdriver-image | ✓ | — | ✓ | ✓ | ✓ | go-hub |
| video-recorder | — | ✓ | — | ✓ | — | go-hub (api / dispatch) |
repository_dispatch)| Source repo | Tags | When |
|---|---|---|
| selenoid.qa.guru | api,smoke | Owner — post-deploy prod gate (sole dispatch) |
| selenoid · selenoid-ui | — | Release: wait_only pin gate (no second smoke) |
| cm | api | After CM release (own slice) |
| browser-image | playwright · smoke (wd / video-recorder) | After image publish |
Обновляется после каждого orchestrator run на main. Per-run URLs: reports/<run-id>/.