name: Build Wowlet on: push: workflow_dispatch: jobs: build-macos: runs-on: macos-latest # Runs on your Mac Mini steps: - name: Checkout w/ Submodules uses: actions/checkout@v3 with: # 1. recursive: Grabs the main repo AND all nested layers of submodules submodules: recursive # 2. fetch-depth: 0 means "Download Everything" (Full History). # Why? Shallow clones (depth: 1) often fail with submodules because # the specific commit the submodule points to might be buried deep in history. fetch-depth: 0 # 3. LFS: Just in case they store binary assets (images, test dbs) in Git LFS. lfs: true - name: Prepare Environment run: | echo "Checking dependency versions..." cmake --version qmake --version || echo "QMake found via brew" - name: Build macOS run: | mkdir build cd build # Standard CMake build for Mac cmake .. -DCMAKE_PREFIX_PATH=$(brew --prefix qt@5) -DCMAKE_BUILD_TYPE=Release make -j$(sysctl -n hw.ncpu) - name: Upload Artifact uses: actions/upload-artifact@v3 with: name: wowlet-macos path: build/wowlet.app