From c717330f4f81c8b0bb5f0314d398ac0698417089 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Tue, 31 Mar 2026 22:00:12 -0700 Subject: [PATCH] fix(ci): bundle Vulkan loader dylibs in macOS app --- .github/workflows/build.yml | 14 ++++++++++++++ .github/workflows/release.yml | 14 ++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0a3c81d1..3140e24e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -199,6 +199,20 @@ jobs: -p @executable_path/../Frameworks/ fi + # dylibbundler may miss Homebrew's Vulkan loader on some runner images. + # Copy all vulkan-loader dylib names so wowee_bin can resolve whichever + # install_name it was linked against (e.g. libvulkan.1.4.341.dylib). + VULKAN_LIB_DIR="$(brew --prefix vulkan-loader)/lib" + for lib in "${VULKAN_LIB_DIR}"/libvulkan*.dylib; do + [ -e "${lib}" ] || continue + cp -f "${lib}" Wowee.app/Contents/Frameworks/ + done + + if ! ls Wowee.app/Contents/Frameworks/libvulkan*.dylib >/dev/null 2>&1; then + echo "Missing Vulkan loader dylib(s) in app bundle Frameworks/" >&2 + exit 1 + fi + # Info.plist cat > Wowee.app/Contents/Info.plist << 'EOF' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 34917dd1..b570fc72 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -183,6 +183,20 @@ jobs: fi fi + # dylibbundler may miss Homebrew's Vulkan loader on some runner images. + # Copy all vulkan-loader dylib names so wowee_bin can resolve whichever + # install_name it was linked against (e.g. libvulkan.1.4.341.dylib). + VULKAN_LIB_DIR="$(brew --prefix vulkan-loader)/lib" + for lib in "${VULKAN_LIB_DIR}"/libvulkan*.dylib; do + [ -e "${lib}" ] || continue + cp -f "${lib}" Wowee.app/Contents/Frameworks/ + done + + if ! ls Wowee.app/Contents/Frameworks/libvulkan*.dylib >/dev/null 2>&1; then + echo "Missing Vulkan loader dylib(s) in app bundle Frameworks/" >&2 + exit 1 + fi + # Info.plist cat > Wowee.app/Contents/Info.plist << EOF