char-fork/llama.cpp
git clone https://git.t4t.associates/char-fork/llama.cpp
8b4b3558f
char/aliceai-t5-moe
1name : Server 2 3on : 4workflow_dispatch : # allows manual triggering 5inputs : 6sha : 7description : 'Commit SHA1 to build' 8required : false 9type : string 10slow_tests : 11description : 'Run slow tests' 12required : true 13type : boolean 14push : 15branches : 16- master 17paths : [ 18'.github/workflows/server.yml' , 19'**/CMakeLists.txt' , 20'**/Makefile' , 21'**/*.h' , 22'**/*.hpp' , 23'**/*.c' , 24'**/*.cpp' , 25'**/*.cu' , 26'**/*.swift' , 27'**/*.m' , 28'tools/server/**.*' 29] 30pull_request : 31types : [ opened , synchronize , reopened ] 32paths : [ 33'.github/workflows/server.yml' , 34'**/CMakeLists.txt' , 35'**/Makefile' , 36'**/*.h' , 37'**/*.hpp' , 38'**/*.c' , 39'**/*.cpp' , 40'**/*.cu' , 41'**/*.swift' , 42'**/*.m' , 43'tools/server/**.*' 44] 45 46env : 47LLAMA_ARG_LOG_COLORS : 1 48LLAMA_ARG_LOG_PREFIX : 1 49LLAMA_ARG_LOG_TIMESTAMPS : 1 50LLAMA_ARG_LOG_VERBOSITY : 10 51 52concurrency : 53group : ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref || github.run_id }} 54cancel-in-progress : true 55 56jobs : 57ubuntu : 58runs-on : ubuntu-24.04-arm 59 60steps : 61- name : Dependencies 62id : depends 63run : | 64sudo apt-get update 65sudo apt-get -y install \ 66build-essential \ 67xxd \ 68git \ 69cmake \ 70curl \ 71wget \ 72language-pack-en \ 73libssl-dev 74 75- name : Clone 76id : checkout 77uses : actions/checkout@v6 78with : 79fetch-depth : 0 80ref : ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }} 81 82- name : ccache 83uses : ggml-org/ccache-action@v1.2.24 84with : 85key : server-ubuntu-24.04-arm 86save : false 87 88- name : ccache-buckets-restore 89uses : ./.github/actions/ccache-buckets 90env : 91HF_TOKEN : ${{ secrets.HF_TOKEN_CI }} 92with : 93key : server-ubuntu-24.04-arm 94folder : llama.cpp 95hf_bucket : ggml-org/cache 96 97- name : Build 98id : cmake_build 99run : | 100cmake -B build \ 101-DGGML_SCHED_NO_REALLOC=ON 102cmake --build build --config Release -j $(nproc) --target llama-server 103 104- name : ccache-buckets-save 105if : ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} 106uses : ./.github/actions/ccache-buckets 107env : 108HF_TOKEN : ${{ secrets.HF_TOKEN_CACHE_OUTPUT }} 109with : 110key : server-ubuntu-24.04-arm 111folder : llama.cpp 112evict-old-files : 1d 113hf_bucket : ggml-org/cache 114save : true 115 116- name : Python setup 117id : setup_python 118uses : actions/setup-python@v6 119with : 120python-version : '3.11' 121pip-install : -r tools/server/tests/requirements.txt 122 123- name : Tests 124id : server_integration_tests 125run : | 126cd tools/server/tests 127./tests.sh 128 129- name : Slow tests 130id : server_integration_tests_slow 131if : ${{ github.event.schedule || github.event.inputs.slow_tests == 'true' }} 132run : | 133cd tools/server/tests 134SLOW_TESTS=1 ./tests.sh 135 136- name : Tests (Backend sampling) 137id : server_integration_tests_backend_sampling 138run : | 139cd tools/server/tests 140export LLAMA_ARG_BACKEND_SAMPLING=1 141./tests.sh 142 143- name : Slow tests (Backend sampling) 144id : server_integration_tests_slow_backend_sampling 145if : ${{ github.event.schedule || github.event.inputs.slow_tests == 'true' }} 146run : | 147cd tools/server/tests 148export LLAMA_ARG_BACKEND_SAMPLING=1 149SLOW_TESTS=1 ./tests.sh 150 151windows : 152runs-on : windows-2025 153 154steps : 155- name : Clone 156id : checkout 157uses : actions/checkout@v6 158with : 159fetch-depth : 0 160ref : ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }} 161 162- name : ccache 163uses : ggml-org/ccache-action@v1.2.24 164with : 165key : server-windows-2025-x64 166evict-old-files : 1d 167save : ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} 168 169- name : Build 170id : cmake_build 171shell : cmd 172run : | 173cmake -B build -G "Ninja Multi-Config" ^ 174-DCMAKE_TOOLCHAIN_FILE=cmake/x64-windows-llvm.cmake ^ 175-DCMAKE_BUILD_TYPE=Release ^ 176-DLLAMA_BUILD_BORINGSSL=ON ^ 177-DGGML_SCHED_NO_REALLOC=ON 178set /A NINJA_JOBS=%NUMBER_OF_PROCESSORS%-1 179cmake --build build --config Release -j %NINJA_JOBS% --target llama-server 180 181- name : Python setup 182id : setup_python 183uses : actions/setup-python@v6 184with : 185python-version : '3.11' 186pip-install : -r tools/server/tests/requirements.txt 187 188- name : Tests 189id : server_integration_tests 190shell : bash 191run : | 192cd tools/server/tests 193export PYTHONIOENCODING=":replace" 194./tests.sh 195 196- name : Slow tests 197id : server_integration_tests_slow 198if : ${{ github.event.schedule || github.event.inputs.slow_tests == 'true' }} 199shell : bash 200run : | 201cd tools/server/tests 202export SLOW_TESTS="1" 203./tests.sh 204 205- name : ccache-clear 206uses : ./.github/actions/ccache-clear 207env : 208GH_TOKEN : ${{ github.token }} 209with : 210key : server-windows-2025-x64 211older : 5m 212min : 1 213dry-run : ${{ github.event_name != 'push' || github.ref != 'refs/heads/master' }}