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>
27 lines
715 B
JSON
27 lines
715 B
JSON
// Deterministic Waybar config for the CI smoke/screenshot test.
|
|
// Uses only static custom modules (interval "once") so the rendered bar is
|
|
// reproducible and can be compared against a reference image.
|
|
{
|
|
"layer": "top",
|
|
"position": "top",
|
|
"height": 30,
|
|
"modules-left": ["custom/left"],
|
|
"modules-center": ["custom/center"],
|
|
"modules-right": ["custom/right"],
|
|
"custom/left": {
|
|
"format": "Waybar",
|
|
"exec": "echo",
|
|
"interval": "once"
|
|
},
|
|
"custom/center": {
|
|
"format": "CI smoke test",
|
|
"exec": "echo",
|
|
"interval": "once"
|
|
},
|
|
"custom/right": {
|
|
"format": "12:34",
|
|
"exec": "echo",
|
|
"interval": "once"
|
|
}
|
|
}
|