From 9df2a02c4c6e3deab7e166b2326a07a73baa8514 Mon Sep 17 00:00:00 2001 From: Concedo <39025047+LostRuins@users.noreply.github.com> Date: Sat, 4 Oct 2025 09:10:41 +0800 Subject: [PATCH] preserve rocm6 ci --- .../kcpp-build-release-linux-rocm6.yaml | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 .github/workflows/kcpp-build-release-linux-rocm6.yaml diff --git a/.github/workflows/kcpp-build-release-linux-rocm6.yaml b/.github/workflows/kcpp-build-release-linux-rocm6.yaml new file mode 100644 index 000000000..672f3e295 --- /dev/null +++ b/.github/workflows/kcpp-build-release-linux-rocm6.yaml @@ -0,0 +1,93 @@ +name: Koboldcpp Linux ROCm + +on: + workflow_dispatch: + inputs: + commit_hash: + description: 'Optional commit hash to build from' + required: false + default: '' + tag_name: + description: 'Optional version tag (e.g. v1.57.1) for stable release file' + required: false + default: '' + + +env: + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + KCPP_CUDA: rocm + ARCHES_CU12: 1 + +jobs: + linux: + runs-on: ubuntu-22.04 + permissions: write-all + steps: + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + # this might remove tools that are actually needed, + # if set to "true" but frees about 6 GB + tool-cache: true + + # all of these default to true, but feel free to set to + # "false" if necessary for your workflow + android: true + dotnet: true + haskell: true + large-packages: true + docker-images: true + swap-storage: true + + - 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: | + sudo apt update + 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 + curl -fLO https://repo.radeon.com/rocm/installer/rocm-runfile-installer/rocm-rel-6.4.1/ubuntu/22.04/rocm-installer_1.1.1.60401-30-83~22.04.run && sudo bash rocm-installer_1.1.1.60401-30-83~22.04.run deps=install rocm postrocm target="/opt" + sudo rm -rf rocm-install* + + - 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: Save artifact + uses: actions/upload-artifact@v4 + with: + name: kcpp_linux_binary + path: dist/ + + - name: Upload to GitHub Release + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh release upload rocm-rolling dist/koboldcpp-linux-x64-rocm --clobber + + - name: Upload version pinned tagged binary + if: ${{ inputs.tag_name != '' }} + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TAG_NAME: ${{ inputs.tag_name }} + run: | + cp dist/koboldcpp-linux-x64-rocm "dist/koboldcpp-linux-x64-rocm-${TAG_NAME}" + gh release upload rocm-rolling "dist/koboldcpp-linux-x64-rocm-${TAG_NAME}" --clobber