revert to bd3d4f4: step2 two-bug fix only, undo post-commit step3 cha… #361
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 Verification | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| build: | |
| runs-on: macos-14 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Clone dependencies | |
| run: | | |
| git clone --depth=1 https://github.com/ggerganov/whisper.cpp.git whisper-cpp | |
| git clone --depth=1 https://github.com/ggerganov/llama.cpp.git llama-cpp | |
| echo "WHISPER_SHA=$(git -C whisper-cpp rev-parse HEAD)" >> "$GITHUB_ENV" | |
| echo "LLAMA_SHA=$(git -C llama-cpp rev-parse HEAD)" >> "$GITHUB_ENV" | |
| - name: Install system dependencies | |
| run: | | |
| brew install cmake espeak-ng ccache | |
| - name: Cache whisper.cpp build | |
| uses: actions/cache@v4 | |
| with: | |
| path: whisper-cpp/build | |
| key: whisper-cpp-${{ env.WHISPER_SHA }} | |
| restore-keys: whisper-cpp- | |
| - name: Cache llama.cpp build | |
| uses: actions/cache@v4 | |
| with: | |
| path: llama-cpp/build | |
| key: llama-cpp-${{ env.LLAMA_SHA }} | |
| restore-keys: llama-cpp- | |
| - name: Build whisper.cpp | |
| run: | | |
| cmake -S whisper-cpp -B whisper-cpp/build \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DBUILD_SHARED_LIBS=OFF \ | |
| -DWHISPER_COREML=ON \ | |
| -DGGML_METAL=ON \ | |
| -DGGML_CCACHE=OFF \ | |
| -DGGML_OPENMP=OFF \ | |
| -DWHISPER_BUILD_TESTS=OFF \ | |
| -DWHISPER_BUILD_EXAMPLES=OFF | |
| cmake --build whisper-cpp/build --config Release -j$(sysctl -n hw.ncpu) | |
| - name: Build llama.cpp | |
| run: | | |
| cmake -S llama-cpp -B llama-cpp/build \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DBUILD_SHARED_LIBS=OFF \ | |
| -DGGML_METAL=ON \ | |
| -DGGML_OPENMP=OFF | |
| cmake --build llama-cpp/build --config Release -j$(sysctl -n hw.ncpu) | |
| - name: Build Prodigy | |
| run: | | |
| cmake -S . -B build \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DKOKORO_COREML=ON \ | |
| -DBUILD_TESTS=ON | |
| cmake --build build --config Release -j$(sysctl -n hw.ncpu) | |
| - name: Verify binaries | |
| run: | | |
| EXPECTED=( | |
| bin/sip-client | |
| bin/inbound-audio-processor | |
| bin/vad-service | |
| bin/outbound-audio-processor | |
| bin/whisper-service | |
| bin/llama-service | |
| bin/kokoro-service | |
| bin/frontend | |
| ) | |
| OPTIONAL=( | |
| bin/neutts-service | |
| ) | |
| MISSING=0 | |
| for b in "${EXPECTED[@]}"; do | |
| if [ -f "$b" ]; then | |
| echo "OK: $b ($(du -h "$b" | cut -f1))" | |
| else | |
| echo "MISSING: $b" | |
| MISSING=1 | |
| fi | |
| done | |
| for b in "${OPTIONAL[@]}"; do | |
| if [ -f "$b" ]; then | |
| echo "OK (optional): $b ($(du -h "$b" | cut -f1))" | |
| else | |
| echo "SKIPPED (optional): $b" | |
| fi | |
| done | |
| exit $MISSING | |
| - name: Run tests | |
| run: | | |
| cd build && ctest --output-on-failure |