fix: Moshi RAG WER test completion - remove GPU sync stalls, increase… #297
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 |