From a3fe86abcd110ac41c478b403a777ebe53aba5f6 Mon Sep 17 00:00:00 2001 From: OpenClaw Bot Date: Sun, 15 Mar 2026 10:24:05 +0000 Subject: [PATCH] ci: produce deployable macOS arm64 Qt app bundle --- .gitea/workflows/qt-macos-arm64.yml | 25 +++++++++++++++---------- CMakeLists.txt | 2 +- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/.gitea/workflows/qt-macos-arm64.yml b/.gitea/workflows/qt-macos-arm64.yml index 7d63e01..393b382 100644 --- a/.gitea/workflows/qt-macos-arm64.yml +++ b/.gitea/workflows/qt-macos-arm64.yml @@ -23,22 +23,27 @@ jobs: - name: Configure + build run: | set -eu - cmake -S . -B build-out -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$(brew --prefix qt)" + QT_PREFIX="$(brew --prefix qt)" + cmake -S . -B build-out -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_PREFIX_PATH="$QT_PREFIX" \ + -DCMAKE_OSX_ARCHITECTURES=arm64 cmake --build build-out --parallel "$(sysctl -n hw.ncpu)" - - name: Pack artifacts + - name: Deploy Qt bundle and pack artifacts run: | set -eu rm -rf artifacts mkdir -p artifacts - if [ -d build-out/qt_tray_demo.app ]; then - tar -C build-out -czf artifacts/qt_tray_demo-macos-arm64-run${{ github.run_number }}.app.tar.gz qt_tray_demo.app - elif [ -f build-out/qt_tray_demo ]; then - cp build-out/qt_tray_demo artifacts/qt_tray_demo-macos-arm64-run${{ github.run_number }} - chmod +x artifacts/qt_tray_demo-macos-arm64-run${{ github.run_number }} - else - echo 'No Qt macOS output found'; - exit 1 + APP_PATH="build-out/qt_tray_demo.app" + [ -d "$APP_PATH" ] || { echo 'No .app produced (expected qt_tray_demo.app)'; exit 1; } + + QT_PREFIX="$(brew --prefix qt)" + "$QT_PREFIX/bin/macdeployqt" "$APP_PATH" -dmg + + tar -C build-out -czf "artifacts/qt_tray_demo-macos-arm64-run${{ github.run_number }}.app.tar.gz" qt_tray_demo.app + if ls -1 build-out/*.dmg >/dev/null 2>&1; then + cp build-out/*.dmg artifacts/ fi - name: Upload artifacts diff --git a/CMakeLists.txt b/CMakeLists.txt index 9f468f2..ec4e61a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ set(CMAKE_AUTOUIC ON) find_package(Qt6 REQUIRED COMPONENTS Widgets) -add_executable(qt_tray_demo +add_executable(qt_tray_demo MACOSX_BUNDLE src/main.cpp )