From 035b460c2d440f3a6db0dfe8467ef4611d10a200 Mon Sep 17 00:00:00 2001 From: Mike Solar Date: Mon, 13 Jul 2026 16:12:54 +0800 Subject: [PATCH] ci(macos): make macdeployqt verbose and verify platform plugins - Add -verbose=2 to macdeployqt so deployment issues are visible in CI logs. - Pass -executable for oak-render-worker so its rpaths are also fixed. - Add a verification step that fails the build if platform plugins are missing. - Print otool -L for both main binary and worker to aid debugging. --- .github/workflows/cd.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index f7e248ce8..353f33c65 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -130,11 +130,20 @@ jobs: - name: Deploy Qt dependencies run: | export PATH="$(brew --prefix qt@6)/bin:$PATH" - macdeployqt build/app/Oak.app + macdeployqt build/app/Oak.app \ + -verbose=2 \ + -executable=build/app/Oak.app/Contents/MacOS/oak-render-worker # Re-sign after macdeployqt (it breaks signatures when modifying libs) codesign --force --deep --sign - build/app/Oak.app - - name: Bundle non-Qt libraries + - name: Verify macOS bundle plugins + run: | + ls -la build/app/Oak.app/Contents/PlugIns/platforms/ || (echo "Missing platform plugins!" && exit 1) + ls -la build/app/Oak.app/Contents/PlugIns/imageformats/ || true + echo "=== otool -L main binary ===" + otool -L build/app/Oak.app/Contents/MacOS/Oak | head -30 + echo "=== otool -L worker ===" + otool -L build/app/Oak.app/Contents/MacOS/oak-render-worker | head -30 run: | mkdir -p build/app/Oak.app/Contents/Frameworks python3 << 'PYEOF'