Skip to content

Commit 59a9ded

Browse files
committed
ci: launcher writes to Application Support, not inside the .app (seal-safe install)
Same fix as the GPU build: --isolation-dir pointed inside the bundle so the engine wrote into the .app and broke its code-sign seal after first run (macOS 26 SIGKILLs that). Point isolation-dir at USER_DATA and read bundled games/fonts via symlinks.
1 parent aeb59c1 commit 59a9ded

1 file changed

Lines changed: 8 additions & 6 deletions

File tree

.github/workflows/macos-build.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -456,10 +456,12 @@ jobs:
456456
# which we set to the bundled game content. We symlink games/
457457
# into the user data area so the engine can also find any
458458
# additional maps or resources the user downloads.
459-
GAMES_LINK="\$USER_DATA/games"
460-
if [ ! -e "\$GAMES_LINK" ]; then
461-
ln -s "\$GAME_DIR/games" "\$GAMES_LINK"
462-
fi
459+
# Read bundled content via symlinks; the engine WRITES (logs,
460+
# config, demos, caches, downloads) into USER_DATA, never into
461+
# the .app, so the bundle keeps its code-sign seal intact on
462+
# macOS 26 (which SIGKILLs a Mach-O with an invalid seal).
463+
[ -e "\$USER_DATA/games" ] || ln -s "\$GAME_DIR/games" "\$USER_DATA/games"
464+
[ -e "\$USER_DATA/fonts" ] || ln -s "\$GAME_DIR/fonts" "\$USER_DATA/fonts"
463465
# Do NOT set DYLD_LIBRARY_PATH — it overrides the system OpenGL
464466
# framework globally, breaking NSOpenGLContext inside SDL2's
465467
# Cocoa backend (SIGBUS in +[NSOpenGLContext currentContext]).
@@ -495,9 +497,9 @@ jobs:
495497
# SIGBUS that a full DYLD_LIBRARY_PATH caused.
496498
export DYLD_FALLBACK_LIBRARY_PATH="\$RES/lib"
497499
fi
498-
cd "\$RES"
500+
cd "\$USER_DATA"
499501
exec "\$RES/bin/spring" \\
500-
--isolation-dir "\$GAME_DIR" \\
502+
--isolation-dir "\$USER_DATA" \\
501503
--menu "BYAR Chobby $LOBBY_VERSION" \\
502504
"\$@"
503505
LAUNCHER

0 commit comments

Comments
 (0)