55 lines
1.5 KiB
YAML
55 lines
1.5 KiB
YAML
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
|