build: rebrand output artifacts to Oak and fix macOS QML deployment

- Rename macOS bundle output from Olive.app to Oak.app.
- Rename editor binary to oak-editor and render worker to oak-render-worker.
- Rename crash handler output to oak-crashhandler.
- Update worker lookup, NSIS installer, Linux desktop/AppRun, crashhandler
  symbol paths, and documentation for the new binary names.
- Update CD workflow paths and add -qmldir flags to macdeployqt so QtQuick
  / QML plugins required by KDDockWidgets are bundled, fixing the launch
  crash on macOS.
- Update user-facing GitHub URLs to OakVideoEditorCommunity/oak.
This commit is contained in:
2026-07-13 15:26:15 +08:00
parent a4a2903e49
commit f0d41eae52
36 changed files with 70 additions and 1285 deletions
+21 -18
View File
@@ -57,17 +57,17 @@ jobs:
- name: Deploy dependencies
shell: msys2 {0}
run: |
mkdir -p app/packaging/windows/nsis/olive-editor
cp build/app/olive-editor.exe app/packaging/windows/nsis/olive-editor/
cp build/app/olive-render-worker.exe app/packaging/windows/nsis/olive-editor/
cp build/app/oakgl.dll app/packaging/windows/nsis/olive-editor/
mkdir -p app/packaging/windows/nsis/oak-editor
cp build/app/oak-editor.exe app/packaging/windows/nsis/oak-editor/
cp build/app/oak-render-worker.exe app/packaging/windows/nsis/oak-editor/
cp build/app/oakgl.dll app/packaging/windows/nsis/oak-editor/
if [ -f build/app/oakvulkan.dll ]; then
cp build/app/oakvulkan.dll app/packaging/windows/nsis/olive-editor/
cp build/app/oakvulkan.dll app/packaging/windows/nsis/oak-editor/
fi
windeployqt6 app/packaging/windows/nsis/olive-editor/olive-editor.exe
windeployqt6 app/packaging/windows/nsis/oak-editor/oak-editor.exe
# Copy all non-Qt MSYS2 DLLs recursively for every binary we ship
cd app/packaging/windows/nsis/olive-editor
for binary in olive-editor.exe olive-render-worker.exe oakgl.dll oakvulkan.dll; do
cd app/packaging/windows/nsis/oak-editor
for binary in oak-editor.exe oak-render-worker.exe oakgl.dll oakvulkan.dll; do
[ -f "$binary" ] || continue
for l in $(ntldd -R "$binary" | grep -E 'mingw64|ucrt64|clang64' | sed 's/^[ \t]*//' | cut -d' ' -f3); do
cp -v "$l" .
@@ -79,7 +79,7 @@ jobs:
run: |
cd app/packaging/windows/nsis
cp "${GITHUB_WORKSPACE}"/LICENSE .
makensis olive.nsi
makensis oak.nsi
mv setup.exe "${GITHUB_WORKSPACE}"/Oak-Video-Editor-Windows-x64.exe
- name: Upload artifact
@@ -130,18 +130,21 @@ jobs:
- name: Deploy Qt dependencies
run: |
export PATH="$(brew --prefix qt@6)/bin:$PATH"
macdeployqt build/app/Olive.app
macdeployqt build/app/Oak.app \
-qmldir=app \
-qmldir=ext/KDDockWidgets/src/qtquick/views/qml \
-verbose=2
# Re-sign after macdeployqt (it breaks signatures when modifying libs)
codesign --force --deep --sign - build/app/Olive.app
codesign --force --deep --sign - build/app/Oak.app
- name: Bundle non-Qt libraries
run: |
mkdir -p build/app/Olive.app/Contents/Frameworks
mkdir -p build/app/Oak.app/Contents/Frameworks
python3 << 'PYEOF'
import os, shutil, subprocess
APP = "build/app/Olive.app"
BINARY = f"{APP}/Contents/MacOS/Olive"
APP = "build/app/Oak.app"
BINARY = f"{APP}/Contents/MacOS/Oak"
DEST = f"{APP}/Contents/Frameworks"
os.makedirs(DEST, exist_ok=True)
@@ -232,16 +235,16 @@ jobs:
- name: Debug bundle contents
run: |
echo "=== otool -L ==="
otool -L build/app/Olive.app/Contents/MacOS/Olive
otool -L build/app/Oak.app/Contents/MacOS/Oak
echo "=== Frameworks dir ==="
ls -la build/app/Olive.app/Contents/Frameworks/ || echo "(empty)"
ls -la build/app/Oak.app/Contents/Frameworks/ || echo "(empty)"
echo "=== App bundle size ==="
du -sh build/app/Olive.app
du -sh build/app/Oak.app
- name: Create DMG
run: |
hdiutil create \
-srcfolder build/app/Olive.app \
-srcfolder build/app/Oak.app \
-volname "Oak Video Editor" \
-fs HFS+ \
-format UDZO \