
projectbluefin/testsuite
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
Cloud-native QA pipeline for Project Bluefin — Argo Workflows + KubeVirt + qecore/behave AT-SPI tests
개요
Automated behave-driven end-to-end testing for GNOME- and KDE-based bootc images. GNOME suites run headless Wayland sessions via qecore-headless + dogtail; the KDE suite drives Plasma through KDE's selenium-webdriver-at-spi bridge. Runs in QEMU on standard GitHub Actions runners — no self-hosted hardware required. Coverage metrics and screenshots are published to the Live Build Health Dashboard. Per-suite counts are computed from the .feature files in this repo and served as shields.io endpoint badges from the gh-pages branch. For the canonical ownership boundary between this repo, projectbluefin/lab, and downstream image repos, see docs/architecture.md. smoke and common are designed to work against any GNOME bootc image. kde-smoke targets KDE Plasma images and is not yet part of any promotion gate. Add a reusable-workflow call to your bootc image repo: Pin to @v1; testsuite updates the v1 tag automatically on each merge.
README
원문 README의 일부입니다. 원문 보기.
testsuite
Automated behave-driven end-to-end testing for GNOME- and KDE-based bootc images. GNOME suites run headless Wayland sessions via qecore-headless + dogtail; the KDE suite drives Plasma through KDE’s selenium-webdriver-at-spi bridge. Runs in QEMU on standard GitHub Actions runners — no self-hosted hardware required.
Live Desktop Test Coverage
Coverage metrics and screenshots are published to the Live Build Health Dashboard. Per-suite counts are computed from the .feature files in this repo and served as shields.io endpoint badges from the gh-pages branch.
Where this repo fits
projectbluefin/bluefin ──┐
projectbluefin/bluefin-lts ┼──▶ images ──▶ testsuite (e2e gate) ──▶ promotion
projectbluefin/dakota ──┘
Any GNOME bootc image ──────────────────▶ testsuite (smoke + common)
For the canonical ownership boundary between this repo, projectbluefin/lab, and downstream image repos, see docs/architecture.md.
Test stack
| Layer | Tool | Purpose |
|---|---|---|
| BDD runner | behave | Gherkin scenarios and step binding |
| Session bridge | qecore-headless | Wayland/D-Bus session bootstrap |
| GUI automation | dogtail (AT-SPI) | Accessibility-tree interactions |
| Wayland bridge | gnome-ponytail-daemon | Coordinate injection support |
| Shell bridge | org.gnome.Shell.Eval |
GNOME top-bar fallback |
| KDE GUI automation | selenium-webdriver-at-spi (W3C WebDriver) |
Plasma AT-SPI interactions |
| KDE control plane | org.kde.PlasmaShell / KWin D-Bus |
Diagnostics and session reset only — never the primary interaction path |
| SSH bridge | shared SSH steps | Out-of-VM system health assertions |
What is tested
| Suite | Mode | Purpose |
|---|---|---|
smoke |
GUI (qecore) | Core GNOME, Settings, MIME handlers, accessibility, desktop identity |
common |
SSH | Portable health: Flatpak, portals, polkit, shell, immutability |
vanilla-gnome |
GUI | Upstream GNOME OS baseline |
developer |
GUI | Homebrew/Ptyxis on developer variant |
dx |
SSH+GUI | VS Code, distrobox, JupyterLab, mise |
software |
SSH+GUI | Bazaar app store, Flatpak CLI health |
lifecycle |
SSH | bootc upgrade / rollback / migration |
security |
SSH | cosign signature verification |
hardware |
SSH | udev rules, emulated peripherals |
bazzite |
GUI | Bazzite-specific extensions |
flatcar |
SSH | Flatcar OS boot and lifecycle |
kde-smoke |
GUI (WebDriver/AT-SPI) | KDE Plasma harness proof-of-concept; Aurora-only, all scenarios @informational |
smoke and common are designed to work against any GNOME bootc image. kde-smoke targets
KDE Plasma images and is not yet part of any promotion gate.
Using as a GitHub Action
추천 도구
다른 키워드를 입력하거나 필터를 제거해 보세요.
설치
npx skillfish add projectbluefin/testsuite