fix(ci): bundle libssl in macOS app

This commit is contained in:
Paul 2026-04-03 23:09:43 +03:00 committed by Kelsi
parent a0dd10a83a
commit 7dd50bf1d2
2 changed files with 338 additions and 326 deletions

View file

@ -222,6 +222,19 @@ jobs:
exit 1
fi
# dylibbundler may miss Homebrew's OpenSSL on some runner images.
# Copy libssl and libcrypto so wowee_bin can resolve them at runtime.
OPENSSL_LIB_DIR="$(brew --prefix openssl@3)/lib"
for lib in "${OPENSSL_LIB_DIR}"/libssl*.dylib "${OPENSSL_LIB_DIR}"/libcrypto*.dylib; do
[ -e "${lib}" ] || continue
cp -f "${lib}" Wowee.app/Contents/Frameworks/
done
if ! ls Wowee.app/Contents/Frameworks/libssl*.dylib >/dev/null 2>&1; then
echo "Missing OpenSSL libssl dylib(s) in app bundle Frameworks/" >&2
exit 1
fi
# Info.plist
cat > Wowee.app/Contents/Info.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>

View file

@ -2,7 +2,7 @@ name: Release
on:
push:
tags: ['v*']
tags: [ 'v*' ]
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
@ -197,6 +197,19 @@ jobs:
exit 1
fi
# dylibbundler may miss Homebrew's OpenSSL on some runner images.
# Copy libssl and libcrypto so wowee_bin can resolve them at runtime.
OPENSSL_LIB_DIR="$(brew --prefix openssl@3)/lib"
for lib in "${OPENSSL_LIB_DIR}"/libssl*.dylib "${OPENSSL_LIB_DIR}"/libcrypto*.dylib; do
[ -e "${lib}" ] || continue
cp -f "${lib}" Wowee.app/Contents/Frameworks/
done
if ! ls Wowee.app/Contents/Frameworks/libssl*.dylib >/dev/null 2>&1; then
echo "Missing OpenSSL libssl dylib(s) in app bundle Frameworks/" >&2
exit 1
fi
# Info.plist
cat > Wowee.app/Contents/Info.plist << EOF
<?xml version="1.0" encoding="UTF-8"?>
@ -256,21 +269,7 @@ jobs:
msystem: ${{ matrix.msystem }}
update: ${{ matrix.arch == 'arm64' }}
install: >-
${{ matrix.prefix }}-cmake
${{ matrix.arch == 'x86-64' && format('{0}-gcc', matrix.prefix) || format('{0}-clang', matrix.prefix) }}
${{ matrix.prefix }}-ninja
${{ matrix.prefix }}-pkgconf
${{ matrix.prefix }}-SDL2
${{ matrix.prefix }}-glew
${{ matrix.prefix }}-glm
${{ matrix.prefix }}-openssl
${{ matrix.prefix }}-zlib
${{ matrix.prefix }}-ffmpeg
${{ matrix.prefix }}-unicorn
${{ matrix.prefix }}-vulkan-loader
${{ matrix.prefix }}-vulkan-headers
${{ matrix.prefix }}-shaderc
git
${{ matrix.prefix }}-cmake ${{ matrix.arch == 'x86-64' && format('{0}-gcc', matrix.prefix) || format('{0}-clang', matrix.prefix) }} ${{ matrix.prefix }}-ninja ${{ matrix.prefix }}-pkgconf ${{ matrix.prefix }}-SDL2 ${{ matrix.prefix }}-glew ${{ matrix.prefix }}-glm ${{ matrix.prefix }}-openssl ${{ matrix.prefix }}-zlib ${{ matrix.prefix }}-ffmpeg ${{ matrix.prefix }}-unicorn ${{ matrix.prefix }}-vulkan-loader ${{ matrix.prefix }}-vulkan-headers ${{ matrix.prefix }}-shaderc git
- name: Install optional packages
shell: msys2 {0}
@ -365,7 +364,7 @@ jobs:
release:
name: Create Release
needs: [build-linux, build-macos, build-windows]
needs: [ build-linux, build-macos, build-windows ]
runs-on: ubuntu-latest
steps: