ci: add headless smoke + screenshot test for the bar
Launch the real Waybar binary inside a headless, software-rendered sway compositor and verify it actually runs and renders — something the unit tests and build jobs never do. - test/smoke/run.sh: boots sway (WLR_BACKENDS=headless, pixman), starts waybar, asserts it stays alive with no fatal log, optionally grabs a screenshot with grim - level 1: real modules (clock/cpu/memory/disk) load without crashing - level 2: deterministic config is screenshotted and checked to be non-blank - level 3: screenshot compared to test/smoke/reference.png (fuzz 8%, 800px tolerance); screenshot + diff uploaded as artifacts - .github/workflows/smoke.yml runs it on push/PR The reference image must be blessed from a CI artifact (see test/smoke/README.md). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
// Waybar config for the CI smoke test: exercises real modules that work in a
|
||||
// headless environment (no hardware/daemon dependency). Its content is dynamic
|
||||
// (time, cpu, ...) so it is NOT screenshot-compared — it only checks that these
|
||||
// modules load and render without crashing the bar.
|
||||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"height": 30,
|
||||
"modules-center": ["clock", "cpu", "memory", "disk", "custom/hello"],
|
||||
"clock": {},
|
||||
"cpu": {},
|
||||
"memory": {},
|
||||
"disk": {},
|
||||
"custom/hello": {
|
||||
"format": "ok",
|
||||
"exec": "echo",
|
||||
"interval": "once"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user