project structure cleanup #30
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Going Zero | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| branches: [master] | |
| jobs: | |
| build: | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Select Xcode version | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: latest-stable | |
| - name: Show Xcode version | |
| run: xcodebuild -version | |
| - name: Install Git LFS | |
| run: | | |
| brew install git-lfs | |
| git lfs install | |
| git lfs version | |
| - name: Install CocoaPods | |
| run: | | |
| sudo gem install cocoapods | |
| pod --version | |
| - name: Install system dependencies | |
| run: | | |
| # Install minimal C++ dependencies for Essentia | |
| brew install pkg-config eigen fftw libtag libsamplerate | |
| # Try official Homebrew formula first | |
| if brew tap MTG/essentia && brew install --HEAD mtg/essentia/essentia; then | |
| echo "Essentia installed via Homebrew successfully" | |
| else | |
| echo "Homebrew installation failed, building from source..." | |
| git clone https://github.com/MTG/essentia.git /tmp/essentia | |
| cd /tmp/essentia | |
| # Minimal C++ build without Python bindings | |
| # Use C++14 standard to match Eigen 5.0.1 requirements | |
| CXXFLAGS="-std=c++14 -stdlib=libc++" python3 waf configure --build-static | |
| python3 waf | |
| sudo python3 waf install | |
| fi | |
| - name: Install Pod dependencies | |
| run: | | |
| pod install --repo-update | |
| - name: Build project | |
| run: | | |
| xcodebuild -workspace "Going Zero.xcworkspace" \ | |
| -scheme "Going Zero" \ | |
| -configuration Debug \ | |
| -destination "platform=macOS" \ | |
| -allowProvisioningUpdates \ | |
| CODE_SIGN_IDENTITY="" \ | |
| CODE_SIGNING_REQUIRED=NO \ | |
| CODE_SIGNING_ALLOWED=NO \ | |
| clean build | |
| - name: Archive build artifacts | |
| if: success() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: going-zero-build | |
| path: build/ | |
| retention-days: 7 |