Skip to content

Commit e50f19f

Browse files
committed
Bundle required shared libraries in Linux CI pipelines
Add libz, libpng, libzip to Dockerfile.linux Docker build library copy loop. Simplify release.yml to use distrib-stage output (which now auto-bundles all deps via package_linux.sh) instead of manually listing libraries.
1 parent fef0fb0 commit e50f19f

2 files changed

Lines changed: 5 additions & 41 deletions

File tree

.github/workflows/release.yml

Lines changed: 4 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -270,25 +270,6 @@ jobs:
270270
strip bin/moac
271271
strip bin/libastonia_net.so
272272
273-
- name: Collect Binaries (Linux)
274-
run: |
275-
mkdir -p binaries
276-
cp bin/moac binaries/
277-
cp bin/libastonia_net.so binaries/
278-
cp -L /usr/local/lib/libSDL3.so.0 binaries/ 2>/dev/null || \
279-
cp -L /tmp/sdl3-install/lib/libSDL3.so.0 binaries/ || true
280-
cp -L /usr/local/lib/libSDL3_mixer.so.0 binaries/ 2>/dev/null || \
281-
cp -L /tmp/sdl3-install/lib/libSDL3_mixer.so.0 binaries/ || true
282-
echo "=== Linux Binaries ==="
283-
ls -la binaries/
284-
285-
- name: Upload Binaries (Linux)
286-
uses: actions/upload-artifact@v4
287-
with:
288-
name: linux-binaries
289-
path: binaries/
290-
retention-days: 7
291-
292273
- name: Prepare distribution staging
293274
run: make distrib-stage
294275

@@ -298,6 +279,7 @@ jobs:
298279
name: linux-staging
299280
path: distrib/linux_client/
300281
retention-days: 7
282+
overwrite: true
301283

302284
build-windows-release:
303285
needs: build-sdl3-windows
@@ -375,13 +357,7 @@ jobs:
375357
name: windows-staging
376358
path: distrib/windows_client/
377359
retention-days: 7
378-
379-
- name: Upload Binaries (Windows)
380-
uses: actions/upload-artifact@v4
381-
with:
382-
name: windows-binaries
383-
path: distrib/windows_client/bin/
384-
retention-days: 7
360+
overwrite: true
385361

386362
- name: Upload Mod SDK (Windows)
387363
uses: actions/upload-artifact@v4
@@ -627,18 +603,6 @@ jobs:
627603
name: mod-sdk-windows
628604
path: mod-sdk
629605

630-
- name: Download Linux Binaries
631-
uses: actions/download-artifact@v4
632-
with:
633-
name: linux-binaries
634-
path: linux-binaries
635-
636-
- name: Download Windows Binaries
637-
uses: actions/download-artifact@v4
638-
with:
639-
name: windows-binaries
640-
path: windows-binaries
641-
642606
- name: Download macOS Binaries
643607
uses: actions/download-artifact@v4
644608
with:
@@ -656,8 +620,8 @@ jobs:
656620
tar czf client-linux.tar.gz linux_client
657621
zip -q -r client-windows.zip windows_client
658622
zip -q -r mod-sdk.zip mod-sdk
659-
tar czf client-linux-binaries.tar.gz -C linux-binaries .
660-
cd windows-binaries && zip -q -r ../client-windows-binaries.zip . && cd ..
623+
tar czf client-linux-binaries.tar.gz -C linux_client/bin .
624+
cd windows_client/bin && zip -q -r ../../client-windows-binaries.zip . && cd ../..
661625
tar czf client-macos-binaries.tar.gz -C macos-binaries .
662626
663627
- name: Generate checksums

build/containers/Dockerfile.linux

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ rm -f build.zig\n\
7373
\n\
7474
# Copy required shared libraries into bin/ for portable deployment\n\
7575
# The binary already has $ORIGIN rpath set, so it will find .so files next to itself\n\
76-
for lib in libSDL3.so libSDL3_mixer.so libmimalloc.so; do\n\
76+
for lib in libSDL3.so libSDL3_mixer.so libmimalloc.so libz.so libpng.so libpng16.so libzip.so; do\n\
7777
for dir in /usr/lib /usr/local/lib; do\n\
7878
if [ -f "$dir/$lib" ]; then\n\
7979
cp -L "$dir/$lib"* /app/bin/ 2>/dev/null || true\n\

0 commit comments

Comments
 (0)