Skip to content

Commit 0b76398

Browse files
committed
docs(skills): document Electron x-skip-launch-check requirement for headless CI
Electron apps segfault (exit 139) in the headless gnome-49 container because there is no display. Document x-skip-launch-check: true as the fix pattern in both the skill and goose GOTCHAS.md. Assisted-by: Claude Sonnet 4.6 via OpenCode
1 parent 84e719f commit 0b76398

File tree

2 files changed

+31
-2
lines changed

2 files changed

+31
-2
lines changed

flatpaks/goose/GOTCHAS.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,17 @@ migrated to the `manifest.yaml` (flatpak-builder) path.
2121
requires at least one category. This is a documentation-only violation — it does not affect
2222
build or runtime behaviour in this personal remote.
2323

24-
## chunkah layer count
24+
## CI launch check: x-skip-launch-check required
25+
26+
Goose is a GUI Electron app. In a headless CI container (no `$DISPLAY`), `zypak-wrapper`
27+
segfaults with exit 139 — even with `--no-sandbox` — because the Ozone X11 platform fails
28+
to initialize (`Missing X server or $DISPLAY`).
29+
30+
Set `x-skip-launch-check: true` in `release.yaml` so the launch check step exits 0 with a
31+
SKIP message instead of trying to run a display-required binary. The install step already
32+
validates the Flatpak can be installed; the launch check adds no signal here.
33+
34+
2535

2636
16 layers configured (`chunkah-max-layers: "16"`). At ~200MB the OSTree object store
2737
heuristics alone may produce ~30 layers. If chunkah warns about exceeding the layer budget,

skills/app-gotchas.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,26 @@ Real flatpak-tracker runtime-update issue bodies use:
4141

4242
Applies to: `scripts/sync-runtime-issues.py` and any task spec describing issue body format.
4343

44-
## bundle-repack apps: no metainfo injection
44+
## Electron GUI apps: x-skip-launch-check required
45+
46+
Electron apps (e.g. goose, lmstudio) run as root in the CI container and require a display
47+
to initialize (X11/Wayland). In the headless gnome-49 container:
48+
49+
- `zypak-wrapper` segfaults with exit 139 even with `--no-sandbox`
50+
- The Ozone X11 platform fails: `Missing X server or $DISPLAY`
51+
52+
**Fix:** set `x-skip-launch-check: true` in `release.yaml` (or `manifest.yaml`). The
53+
launch check step reads this field and exits 0 with a SKIP message. The install step
54+
already validates that the Flatpak installs correctly.
55+
56+
```yaml
57+
# In release.yaml or manifest.yaml:
58+
x-skip-launch-check: true
59+
```
60+
61+
Applies to: **goose**, **lmstudio** (any Electron GUI app).
62+
63+
4564
4665
The `release.yaml` pipeline downloads a pre-built upstream `.flatpak` and repackages it as
4766
OCI. There is no mechanism to inject source-side files (e.g. metainfo XML) into the bundle.

0 commit comments

Comments
 (0)