@@ -28,29 +28,18 @@ jobs:
2828 server :
2929 runs-on : ubuntu-latest
3030
31- strategy :
32- matrix :
33- sanitizer : [ADDRESS, UNDEFINED] # THREAD is broken
34- build_type : [RelWithDebInfo]
35- include :
36- - build_type : Release
37- sanitizer : " "
38- fail-fast : false # While -DLLAMA_SANITIZE_THREAD=ON is broken
39-
4031 steps :
4132 - name : Dependencies
4233 id : depends
4334 run : |
4435 sudo apt-get update
4536 sudo apt-get -y install \
4637 build-essential \
47- xxd \
4838 git \
4939 cmake \
5040 curl \
51- wget \
52- language-pack-en \
53- libcurl4-openssl-dev
41+ curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
42+ sudo apt-get install -y git-lfs
5443
5544 - name : Clone
5645 id : checkout
@@ -70,41 +59,11 @@ jobs:
7059 run : |
7160 pip install -r requirements/requirements-all.txt
7261
73- - name : Verify server deps
74- id : verify_server_deps
75- run : |
76- git config --global --add safe.directory $(realpath .)
77- cd examples/server
78- git ls-files --others --modified
79- git status
80- ./deps.sh
81- git status
82- not_ignored_files="$(git ls-files --others --modified)"
83- echo "Modified files: ${not_ignored_files}"
84- if [ -n "${not_ignored_files}" ]; then
85- echo "Repository is dirty or server deps are not built as expected"
86- echo "${not_ignored_files}"
87- exit 1
88- fi
89-
90- - name : Build (no OpenMP)
91- id : cmake_build_no_openmp
92- if : ${{ matrix.sanitizer == 'THREAD' }}
93- run : |
94- cmake -B build \
95- -DGGML_NATIVE=OFF \
96- -DLLAMA_BUILD_SERVER=ON \
97- -DLLAMA_CURL=ON \
98- -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
99- -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \
100- -DGGML_OPENMP=OFF ;
101- cmake --build build --config ${{ matrix.build_type }} -j $(nproc) --target llama-server
102-
10362 - name : Build
10463 id : cmake_build
10564 if : ${{ matrix.sanitizer != 'THREAD' }}
10665 run : |
107- cmake -B build \
66+ make llama-cli llama-export-lora \
10867 -DGGML_NATIVE=OFF \
10968 -DLLAMA_BUILD_SERVER=ON \
11069 -DLLAMA_CURL=ON \
@@ -116,51 +75,3 @@ jobs:
11675 id : test_lora_conversion_inference
11776 if : ${{ (github.event.schedule || github.event.inputs.slow_tests == 'true') && matrix.build_type == 'Release' }}
11877 run : ./tests/test-lora-conversion-inference.sh
119-
120-
121- server-windows :
122- runs-on : windows-2019
123-
124- steps :
125- - name : Clone
126- id : checkout
127- uses : actions/checkout@v4
128- with :
129- fetch-depth : 0
130- ref : ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }}
131-
132- - name : libCURL
133- id : get_libcurl
134- env :
135- CURL_VERSION : 8.6.0_6
136- run : |
137- curl.exe -o $env:RUNNER_TEMP/curl.zip -L "https://curl.se/windows/dl-${env:CURL_VERSION}/curl-${env:CURL_VERSION}-win64-mingw.zip"
138- mkdir $env:RUNNER_TEMP/libcurl
139- tar.exe -xvf $env:RUNNER_TEMP/curl.zip --strip-components=1 -C $env:RUNNER_TEMP/libcurl
140-
141- - name : Build
142- id : cmake_build
143- run : |
144- cmake -B build -DLLAMA_CURL=ON -DCURL_LIBRARY="$env:RUNNER_TEMP/libcurl/lib/libcurl.dll.a" -DCURL_INCLUDE_DIR="$env:RUNNER_TEMP/libcurl/include"
145- cmake --build build --config Release -j ${env:NUMBER_OF_PROCESSORS} --target llama-server
146-
147- - name : Python setup
148- id : setup_python
149- uses : actions/setup-python@v5
150- with :
151- python-version : ' 3.11'
152-
153- - name : Tests dependencies
154- id : test_dependencies
155- run : |
156- pip install -r examples/server/tests/requirements.txt
157-
158- - name : Copy Libcurl
159- id : prepare_libcurl
160- run : |
161- cp $env:RUNNER_TEMP/libcurl/bin/libcurl-x64.dll ./build/bin/Release/libcurl-x64.dll
162-
163- - name : Lora convert and inference tests
164- id : test_lora_conversion_inference
165- if : ${{ (github.event.schedule || github.event.inputs.slow_tests == 'true') && matrix.build_type == 'Release' }}
166- run : ./tests/test-lora-conversion-inference.sh
0 commit comments