name: Koboldcpp Mac on: workflow_dispatch: inputs: commit_hash: description: 'Optional commit hash to build from' required: false default: '' env: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} jobs: osx: runs-on: macos-14 steps: - name: Clone id: checkout uses: actions/checkout@v3 with: ref: ${{ inputs.commit_hash != '' && inputs.commit_hash || github.head_ref || github.ref_name }} - name: Show Commit Used run: | echo "Building from ref: ${{ inputs.commit_hash != '' && inputs.commit_hash || 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 './json_to_gbnf.py:.' --add-data './LICENSE.md:.' --add-data './MIT_LICENSE_GGML_SDCPP_LLAMACPP_ONLY.md:.' --add-data './embd_res:./embd_res' --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/