Skip to content

revert to bd3d4f4: step2 two-bug fix only, undo post-commit step3 cha… #361

revert to bd3d4f4: step2 two-bug fix only, undo post-commit step3 cha…

revert to bd3d4f4: step2 two-bug fix only, undo post-commit step3 cha… #361

Workflow file for this run

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