mirror of
https://github.com/LostRuins/koboldcpp.git
synced 2026-04-28 11:40:43 +00:00
78 lines
2.5 KiB
YAML
78 lines
2.5 KiB
YAML
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 up disk space before container
|
|
run: |
|
|
echo "Cleaning up runner to make room for ROCm container..."
|
|
sudo rm -rf /usr/share/dotnet
|
|
sudo rm -rf /opt/ghc
|
|
sudo rm -rf /opt/hostedtoolcache
|
|
sudo apt-get clean
|
|
df -h
|
|
|
|
- name: Checkout source
|
|
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: Build inside ROCm container
|
|
run: |
|
|
docker run --privileged \
|
|
-v "${{ github.workspace }}:/workspace" \
|
|
-w /workspace \
|
|
-e KCPP_CUDA="rocm" \
|
|
-e BRANCH_NAME="${{ github.head_ref || github.ref_name }}" \
|
|
rocm/dev-ubuntu-22.04:7.1-complete \
|
|
bash -c "
|
|
apt update &&
|
|
DEBIAN_FRONTEND=noninteractive apt install -y git curl bzip2 python3-tk tcl tk &&
|
|
export TCL_LIBRARY=\$(find /usr/lib/ -name 'tcl8*' | head -n 1) &&
|
|
export TK_LIBRARY=\$(find /usr/lib/ -name 'tk8*' | head -n 1) &&
|
|
./koboldcpp.sh dist
|
|
"
|
|
|
|
- name: Save artifact
|
|
uses: actions/upload-artifact@v6
|
|
with:
|
|
name: kcpp_linux_binary
|
|
path: ${{ github.workspace }}/dist/
|
|
|
|
- name: Upload to GitHub Rolling 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
|