CNA-VGAP-012: No CI workflow selects CNA_PLATFORM=WAYLAND, so the native Wayland backend's suites run only on a developer's machine
Evidence basis: source-verified at the pinned commit; tests exist (not executed for this page). Claims on this page were checked by reading the CNA source at commit 009d40f5; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.
The Wayland ctest suites are registered only under CNA_PLATFORM=WAYLAND and launched through tools/platform/wayland_test_server.sh, but no GitHub workflow configures that platform, so the native Wayland backend has no continuous integration.
- Identifier
CNA-VGAP-012- Category
- Verification gap
- Subsystem
- Build & CI
- Status
- Open
- Verified against
- CNA
009d40f5(009d40f5dd085c4e674d3479675fac84b12b3e0a) - Evidence basis
- Source-verified: read at TARGET, not executed
- Tests touching this area
- Yes: see Current tests
- Affected contract
- Continuous-integration coverage of the CNA::Platform::Wayland backend
Expected behaviour
The native backends are held to the same conformance suite as SDL3, and the X11 and Win32 backends each have a CI cell (the X11 and win32-cross jobs). The Wayland backend's suites -- mapping, protocol, portal, live Weston and Mutter, IME -- exist and are gated on CNA_PLATFORM=WAYLAND.
Actual behaviour at TARGET
.github/workflows has no job that sets CNA_PLATFORM=WAYLAND: platform-ci.yml's matrix is SDL3, SDL2, HEADLESS and TERMINAL, plus separate X11 and win32-cross jobs. The Wayland ctest entries in cmake/UnitTests.cmake (CnaWaylandWestonTests, CnaWaylandMutterTests and the rest) are registered only when CNA_PLATFORM=WAYLAND and run through tools/platform/wayland_test_server.sh, which no workflow invokes. Only the platform-neutral CnaWaylandPlatformSelection configure test runs in CI.
Source locations
.github/workflows/platform-ci.yml— matrix has no WAYLAND cell; X11 and win32-cross are separate jobscmake/UnitTests.cmake— the CnaWayland* ctest suites are registered only under CNA_PLATFORM=WAYLANDtools/platform/wayland_test_server.sh— the launcher the live Wayland suites need, invoked by no workflow
Evidence
Checked by reading every file under .github/workflows for CNA_PLATFORM=WAYLAND (none) and the Wayland ctest registrations in cmake/UnitTests.cmake at 009d40f5. Not executed. CNA's own Wayland notes say the backend is “implemented and locally tested, not CI-verified” and “no workflow selects it”.
Independent re-verification: Checked by reading every file under .github/workflows for CNA_PLATFORM=WAYLAND (none) and the Wayland ctest registrations in UnitTests.cmake at 009d40f5. Not executed. CNA's own documentation at TARGET (platform-wayland.md, plan_wayland.md) says nothing about the backend's CI status; the wording 'implemented and locally tested, not CI-verified' is this site's own guidance in its native-platforms page, not a quotation from CNA.
Focused reproduction
No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.
Current tests
The Wayland suites exist and are thorough (an in-process compositor, headless Weston and Mutter, a real IME), but they run only when a developer configures CNA_PLATFORM=WAYLAND and runs the launcher; CI runs only CnaWaylandPlatformSelection (a configure test that needs no compositor).
Regression test
A platform-ci job (or matrix cell) that configures CNA_PLATFORM=WAYLAND, installs a compositor, and runs the mapping and protocol suites (which need none) plus the Weston/Mutter suites where the compositor is present, matching the X11 cell.
Blast radius
Regressions in the native Wayland backend would not be caught by CI; the X11, SDL and terminal backends have cells, and the Wayland selection logic is covered by its configure test.
Workaround
No workaround is known.
Related pages
The same subject is explained at several altitudes. These are the neighbouring pages at each one.
- User guide
- Native Platforms: CI
- Tests and validation
- Test architecture: CI
- Known issues
- Verification gap index