name: Build Wowlet on: push: workflow_dispatch: jobs: build-macos: runs-on: macos-latest # Runs on your Mac Mini steps: - name: Manual Checkout (Debug) env: # This token is automatically provided by Gitea to allow cloning GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | # 1. Clean the workspace to ensure a fresh start echo "Cleaning workspace..." rm -rf * # 2. Force Git to use HTTPS (Fixes 'hangs' if submodules use git:// or git@) git config --global url."https://github.com/".insteadOf "git@github.com:" git config --global url."https://github.com/".insteadOf "git://github.com/" git config --global url."https://codeberg.org/".insteadOf "git@codeberg.org:" # 3. Clone the main repo from YOUR Gitea # We use the token to authenticate seamlessly echo "Cloning main repository..." git clone https://user:$GITHUB_TOKEN@git.such.software/${{ github.repository }}.git . # 4. Manually update submodules # This will show us EXACTLY which submodule fails if one is broken echo "Initializing submodules..." git submodule update --init --recursive - 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