| name: Koboldcpp Mac | |
| on: workflow_dispatch | |
| env: | |
| BRANCH_NAME: ${{ github.head_ref || github.ref_name }} | |
| jobs: | |
| osx: | |
| runs-on: macos-latest | |
| steps: | |
| - name: Clone | |
| id: checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| ref: ${{ github.head_ref || github.ref_name }} | |
| - name: Dependencies | |
| id: depends | |
| run: | | |
| pip install customtkinter pyinstaller tk | |
| - name: Build | |
| id: make_build | |
| run: | | |
| make LLAMA_METAL=1 LLAMA_PORTABLE=1 | |
| chmod +x './create_ver_file.sh' | |
| . create_ver_file.sh | |
| pyinstaller --noconfirm --onefile --collect-all customtkinter --collect-all psutil --add-data './koboldcpp_default.so:.' --add-data './ggml-metal-merged.metal:.' --add-data './kcpp_adapters:./kcpp_adapters' --add-data './koboldcpp.py:.' --add-data './klite.embd:.' --add-data './kcpp_docs.embd:.' --add-data './kcpp_sdui.embd:.' --add-data './taesd.embd:.' --add-data './taesd_xl.embd:.' --add-data './taesd_f.embd:.' --add-data './taesd_3.embd:.' --add-data './rwkv_vocab.embd:.' --add-data './rwkv_world_vocab.embd:.' --version-file './version.txt' --clean --console koboldcpp.py -n "koboldcpp-mac-arm64" | |
| - name: Test | |
| id: test | |
| run: | | |
| wget https://huggingface.co/concedo/koboldcpp/resolve/main/baby_llama.gguf | |
| dist/koboldcpp-mac-arm64 --model baby_llama.gguf --gpulayers 99 --benchmark --prompt 'Hi, my name is' | |
| - name: Save artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: kcpp_mac_binary | |
| path: dist/ | |