You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(ci): gate gh-pages commit on e2e-install, add x-skip-launch-check to ghostty
Structural fix: update-index.yml now runs e2e-install BEFORE committing to
gh-pages (prepare → e2e-install → commit-index). A failing launch check blocks
the index commit — the stale/broken index is never published to the remote.
Root cause fix: add x-skip-launch-check: true to ghostty manifest. GUI apps
that require Wayland/X11 exit 1 immediately in headless CI (gnome-49 has no
display). timeout 5 only produces exit 124 (PASS) if the app stays alive;
instant exit 1 is treated as failure. ghostty always exits 1 headlessly.
Documented in skills/app-gotchas.md under 'GUI apps — x-skip-launch-check'.
Assisted-by: Claude Sonnet 4.6 via OpenCode
Copy file name to clipboardExpand all lines: skills/app-gotchas.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -145,3 +145,18 @@ not appear in the installed Flatpak unless the upstream bundle already includes
145
145
146
146
Applies to: **goose** (bundle-repack path). All other apps use `manifest.yaml`
147
147
(flatpak-builder) and install metainfo directly.
148
+
149
+
## GUI apps — x-skip-launch-check required
150
+
151
+
Any app that requires a Wayland or X11 display will exit 1 immediately in headless CI (gnome-49 container has no display server). The `timeout 5 flatpak run` launch check treats exit 1 as FAIL, not as PASS. It only passes on exit 0 (clean self-exit) or exit 124 (timeout — app stayed running).
152
+
153
+
**Symptom:** `e2e-install` fails with `WARNING: Gtk: Failed to open display` / `ERROR: <app-id> launch failed (exit 1)`.
154
+
155
+
**Fix:** add `x-skip-launch-check: true` to the app's `manifest.yaml` (or `release.yaml`).
156
+
157
+
Apps that need this flag: any GTK, Qt, Electron, or other GUI app that opens a window on startup. CLI apps and apps with `--version`/`--help` exit paths do not need it.
158
+
159
+
**Structural safeguard:** `update-index.yml` runs `e2e-install` before committing to gh-pages (`prepare → e2e-install → commit-index`). A failing launch check blocks the index commit — the stale index is never published. But fixing `x-skip-launch-check` is still required; the structural gate is a last resort, not a substitute.
160
+
161
+
**Known apps with this flag:**
162
+
- `ghostty`— GTK4/Wayland terminal, exits 1 with "Failed to open display" in CI
0 commit comments