name: Koboldcpp Linux 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 }} KCPP_CUDA: 12.1.0 ARCHES_CU12: 1 jobs: linux: runs-on: ubuntu-22.04 permissions: write-all container: image: ubuntu:20.04 options: --privileged steps: - name: Clone id: checkout uses: actions/checkout@v5 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: | apt-get update apt-get install -y sudo export DEBIAN_FRONTEND=noninteractive sudo ln -fs /usr/share/zoneinfo/UTC /etc/localtime echo "tzdata tzdata/Areas select Etc" | sudo debconf-set-selections echo "tzdata tzdata/Zones/Etc select UTC" | sudo debconf-set-selections sudo apt-get -y install git curl bzip2 python3-tk tcl tk - name: Set Tcl/Tk Paths run: | echo "TCL_LIBRARY=$(find /usr/lib/ -name 'tcl8*' | head -n 1)" >> $GITHUB_ENV echo "TK_LIBRARY=$(find /usr/lib/ -name 'tk8*' | head -n 1)" >> $GITHUB_ENV - name: Build id: make_build run: | ./koboldcpp.sh dist - name: Rename file before upload run: mv dist/koboldcpp-linux-x64-cuda1210 dist/koboldcpp-linux-x64 - name: Save artifact uses: actions/upload-artifact@v6 with: name: kcpp_linux_binary path: dist/ - name: Install GitHub CLI run: | apt-get update apt-get install -y curl curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \ | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" \ | tee /etc/apt/sources.list.d/github-cli.list > /dev/null apt-get update apt-get install -y gh - name: Upload to GitHub Rolling Release env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh release upload rolling dist/koboldcpp-linux-x64 --clobber --repo ${{ github.repository }} gh release upload rolling dist/koboldcpp-linux-x64-nocuda --clobber --repo ${{ github.repository }}