Skip to content

fix(ci): use weston+XWayland for Linux smoke test#417

Merged
koala73 merged 2 commits intomainfrom
ci/xwayland-smoke-test
Feb 26, 2026
Merged

fix(ci): use weston+XWayland for Linux smoke test#417
koala73 merged 2 commits intomainfrom
ci/xwayland-smoke-test

Conversation

@koala73
Copy link
Owner

@koala73 koala73 commented Feb 26, 2026

Summary

  • Previous weston attempt crashed because GDK_BACKEND=wayland panics tao/GTK (requires X11)
  • Now uses weston headless with XWayland — real compositor backing an X11 server
  • App launches with GDK_BACKEND=x11 through XWayland display
  • Screenshots via imagemagick import (X11) instead of grim
  • Falls back to plain Xvfb if weston/XWayland fails
  • Uploads weston + app logs as artifacts for debugging
  • Color check detects blank/black screenshots

Test plan

  • Trigger "Test Linux App" workflow manually after merge
  • Check logs for "XWayland running on DISPLAY=:N" (weston path) or "Falling back to Xvfb"
  • Verify app doesn't crash ("AppImage launched successfully")
  • Download screenshot artifact — check for rendered content vs black screen

…land

Previous attempt used GDK_BACKEND=wayland which caused GTK init panic
(tao requires X11). Now: weston headless with XWayland provides X11
through a real compositor. Falls back to Xvfb if weston fails.
Also uploads weston/app logs as artifacts for debugging.
@vercel
Copy link

vercel bot commented Feb 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

4 Skipped Deployments
Project Deployment Actions Updated (UTC)
worldmonitor Ignored Ignored Preview Feb 26, 2026 1:56pm
worldmonitor-finance Ignored Ignored Preview Feb 26, 2026 1:56pm
worldmonitor-happy Ignored Ignored Preview Feb 26, 2026 1:56pm
worldmonitor-startup Ignored Ignored Preview Feb 26, 2026 1:56pm

Request Review

@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

xwfb-run (from xwayland-run package) is purpose-built for this:
Xwayland on a headless Wayland compositor, replaces xvfb-run.
Falls back to plain Xvfb if xwfb-run is unavailable.
Uploads display-server and app logs as artifacts.
@koala73 koala73 merged commit df9e770 into main Feb 26, 2026
6 checks passed
koala73 added a commit that referenced this pull request Feb 26, 2026
## Changelog

- fix(linux): enable keyring persistence via Secret Service + keyutils (#419)
- fix(ci): use weston+XWayland for Linux smoke test (#417)
- ci: add standalone Test Linux App workflow (#414)
- ci: skip Typecheck and Lint on fork PRs (#415)
- perf: optimize Wingbits API usage and reduce unnecessary polling (#416)
@koala73 koala73 mentioned this pull request Feb 26, 2026
koala73 added a commit that referenced this pull request Feb 26, 2026
* chore: bump v2.5.12

## Changelog

- fix(linux): enable keyring persistence via Secret Service + keyutils (#419)
- fix(ci): use weston+XWayland for Linux smoke test (#417)
- ci: add standalone Test Linux App workflow (#414)
- ci: skip Typecheck and Lint on fork PRs (#415)
- perf: optimize Wingbits API usage and reduce unnecessary polling (#416)

* fix(linux): append host GStreamer plugins to AppImage search path

The linuxdeploy GStreamer hook force-overrides GST_PLUGIN_PATH_1_0 and
GST_PLUGIN_SYSTEM_PATH_1_0 to only contain bundled plugins from the CI
build system (Ubuntu 24.04, GStreamer 1.24).  On hosts with newer
GStreamer (e.g. Arch 1.28), codec plugins like gst-libav and
fakevideosink from gst-plugins-bad are invisible — WebKit can't play
video.

Append common host GStreamer plugin directories as fallback so the
system's codec plugins are discoverable while bundled plugins retain
priority.

Also fixes:
- tauri.conf.json devUrl port mismatch (5173 → 3000) breaking desktop:dev
- live-channels-window YouTube validation allowing add on non-OK responses
@koala73 koala73 deleted the ci/xwayland-smoke-test branch February 26, 2026 17:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant