Skip to content

Commit 7879df3

Browse files
committed
Added runtime test
1 parent 5a41a09 commit 7879df3

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

.github/workflows/macos-dmg.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,19 @@ jobs:
232232
echo 'self-contained app:' || true
233233
ls -R 'dist/SSH Studio.app/Contents' || true
234234
235+
- name: Smoke test self-contained app
236+
run: |
237+
set -euxo pipefail
238+
LAUNCHER='dist/SSH Studio.app/Contents/MacOS/ssh-studio'
239+
test -x "$LAUNCHER"
240+
# CLI help should exit quickly without requiring a GUI session
241+
"$LAUNCHER" --help || true
242+
# Also try launching briefly, then kill
243+
"$LAUNCHER" &
244+
sleep 2 || true
245+
pkill -f "SSH Studio" || true
246+
pkill -f "ssh-studio" || true
247+
235248
- name: Create DMG
236249
run: |
237250
set -euxo pipefail
@@ -243,6 +256,24 @@ jobs:
243256
ln -s /Applications dmgroot/Applications
244257
hdiutil create -volname "SSH Studio" -srcfolder dmgroot -ov -fs HFS+ "ssh-studio-${VER}-${ARCH}.dmg"
245258
259+
- name: Mount DMG and smoke test app
260+
run: |
261+
set -euxo pipefail
262+
DMG="$(ls -1 ssh-studio-*.dmg | head -n1)"
263+
MNT="$(mktemp -d /tmp/sshstudio.XXXX)"
264+
hdiutil attach "$DMG" -mountpoint "$MNT" -nobrowse -quiet
265+
ls -la "$MNT"
266+
LAUNCHER="$MNT/SSH Studio.app/Contents/MacOS/ssh-studio"
267+
test -x "$LAUNCHER"
268+
# CLI help should execute; ignore non-zero in case GTK prints warnings
269+
"$LAUNCHER" --help || true
270+
# Briefly launch then terminate
271+
"$LAUNCHER" &
272+
sleep 2 || true
273+
pkill -f "SSH Studio" || true
274+
pkill -f "ssh-studio" || true
275+
hdiutil detach "$MNT" -quiet || true
276+
246277
- name: Upload artifact
247278
uses: actions/upload-artifact@v4
248279
with:

0 commit comments

Comments
 (0)