A real-time dashboard for monitoring Kata Containers nightly CI test status.
🔗 Live Dashboard: https://kata-containers.github.io/ci-dashboard/
- Nightly Test Monitoring: View all nightly test results at a glance
- 10-Day Weather History: Track test stability over time (oldest → newest)
- Test Sections: Organized by category (GPU, TEE, etc.)
- Failure Details: View failed test names from TAP output ("not ok" lines)
- Direct Job Links: Click through to specific GitHub Actions jobs
- Auto-Refresh: Data updates every 3 hours
| Section | Tests | Description |
|---|---|---|
| NVIDIA GPU | 2 | GPU passthrough tests (A100, H100+SNP) |
| TEE | 8 | Confidential Computing tests (SEV-SNP, TDX, zVSI, CoCo variants) |
┌─────────────────────────────────────────────────────────────────────────┐
│ │
│ kata-containers/ci-dashboard (this repo) │
│ ├── .github/workflows/update-data.yml ← Fetches data every 3 hours │
│ ├── config.yaml ← Test sections configuration │
│ ├── index.html, style.css, app.js ← Dashboard UI │
│ ├── scripts/process-data.js ← Data processing │
│ └── data.json ← Generated data (auto-updated) │
│ │
└─────────────────────────────────────────────────────────────────────────┘
│
│ GitHub Pages
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ │
│ https://kata-containers.github.io/ci-dashboard/ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
The dashboard is configured via config.yaml in this repository.
settings:
weather_days: 10 # Days of history to show
refresh_interval: 180 # Auto-refresh in minutes
source_repo: "kata-containers/kata-containers"
sections:
- id: nvidia-gpu
name: "NVIDIA GPU"
description: "GPU passthrough tests"
maintainers:
- "@username"
jobs:
- name: "kata-containers-ci-on-push / run-k8s-tests-on-nvidia-gpu / run-nvidia-gpu-tests-on-amd64"
description: "NVIDIA GPU tests on A100"
fatal_steps:
- pattern: "Run tests.*" # Only this step counts as a real test failure- Edit
config.yaml - Add a new section with:
id: Unique identifiername: Display namedescription: Section descriptionmaintainers: List of GitHub handlesjobs: List of job configurations with exact GitHub Actions job names
# Start local server
python3 -m http.server 8080
# Open browser
open http://localhost:8080- Go to Actions tab
- Select Update CI Dashboard Data
- Click Run workflow
- GitHub Actions workflow runs every 3 hours
- Fetches nightly workflow runs from
kata-containers/kata-containers - For each run, fetches individual job results
- Filters jobs matching configured patterns (GPU, TEE, etc.)
- For failed jobs, fetches logs and parses TAP output for "not ok" lines
- Generates
data.jsonwith test status, weather history, and failure details - Commits and pushes
data.jsonto trigger GitHub Pages rebuild
- Add new tests: Edit
config.yamland add job configurations - UI changes: Modify
index.html,style.css, orapp.js - Data processing: Modify
scripts/process-data.js
Apache 2.0 - See LICENSE