name: qt-macos-arm64 on: push: branches: [ main ] tags: [ 'v*' ] pull_request: branches: [ main ] workflow_dispatch: jobs: qt-macos-arm64: runs-on: macos-arm64 steps: - uses: actions/checkout@v4 - name: Install build dependencies run: | set -eu brew update brew install cmake ninja qt - name: Configure + build run: | set -eu 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: Deploy Qt bundle and pack artifacts run: | set -eu rm -rf artifacts mkdir -p artifacts 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 uses: actions/upload-artifact@v3 with: name: qt_tray_demo-macos-arm64-run${{ github.run_number }} path: artifacts/ retention-days: 14