Skip to content

Commit 84e719f

Browse files
committed
fix: skip launch check for headless-incompatible Electron apps
Goose is a GUI Electron app that requires a display (X11/Wayland) to run. In a headless CI container it segfaults (exit 139) even with --no-sandbox. The install step already validates the Flatpak can be installed; the launch check adds no signal for display-required apps. Add x-skip-launch-check: true to release.yaml and support the field in the launch check step so CI passes cleanly. Assisted-by: Claude Sonnet 4.6 via OpenCode
1 parent 342a256 commit 84e719f

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

.github/workflows/build.yml

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1085,14 +1085,24 @@ jobs:
10851085
if: steps.arch-check.outputs.skip != 'true'
10861086
run: |
10871087
APP_ID="${{ steps.app-meta.outputs.app_id }}"
1088-
# Read optional per-app launch args (e.g. --no-sandbox for Electron root runs)
1089-
LAUNCH_ARGS=""
1088+
MANIFEST=""
10901089
if [[ -f "flatpaks/${{ matrix.app }}/release.yaml" ]]; then
1091-
LAUNCH_ARGS=$(yq -r '(.["x-launch-check"] // []) | join(" ")' \
1092-
"flatpaks/${{ matrix.app }}/release.yaml")
1090+
MANIFEST="flatpaks/${{ matrix.app }}/release.yaml"
10931091
elif [[ -f "flatpaks/${{ matrix.app }}/manifest.yaml" ]]; then
1094-
LAUNCH_ARGS=$(yq -r '(.["x-launch-check"] // []) | join(" ")' \
1095-
"flatpaks/${{ matrix.app }}/manifest.yaml")
1092+
MANIFEST="flatpaks/${{ matrix.app }}/manifest.yaml"
1093+
fi
1094+
# Check for x-skip-launch-check (headless-incompatible apps, e.g. Electron GUI)
1095+
if [[ -n "${MANIFEST}" ]]; then
1096+
SKIP=$(yq -r '.["x-skip-launch-check"] // "false"' "${MANIFEST}")
1097+
if [[ "${SKIP}" == "true" ]]; then
1098+
echo "==> SKIP: launch check skipped for ${APP_ID} (x-skip-launch-check: true)"
1099+
exit 0
1100+
fi
1101+
fi
1102+
# Read optional per-app launch args
1103+
LAUNCH_ARGS=""
1104+
if [[ -n "${MANIFEST}" ]]; then
1105+
LAUNCH_ARGS=$(yq -r '(.["x-launch-check"] // []) | join(" ")' "${MANIFEST}")
10961106
fi
10971107
set +e
10981108
# shellcheck disable=SC2086

flatpaks/goose/release.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ title: Goose
88
description: Goose AI agent - Flatpak repack
99
license: Apache-2.0
1010
chunkah-max-layers: "16"
11-
x-launch-check: ["--no-sandbox"]
11+
x-skip-launch-check: true
1212

0 commit comments

Comments
 (0)