Skip to content

Commit 2238e70

Browse files
committed
add windows-setup-curl
1 parent 793074c commit 2238e70

File tree

3 files changed

+41
-8
lines changed

3 files changed

+41
-8
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: 'Windows - Setup CURL'
2+
description: 'Composite action, to be reused in other workflow'
3+
inputs:
4+
curl_version:
5+
description: 'CURL version'
6+
required: false
7+
default: '8.6.0_6'
8+
outputs:
9+
curl_path:
10+
description: "Path to the downloaded libcurl"
11+
value: ${{ steps.get_libcurl.outputs.curl_path }}
12+
curl_cmake_arg:
13+
description: "Arguments to be added to cmake command which allow finding libcurl"
14+
value: ${{ steps.get_libcurl.outputs.curl_cmake_arg }}
15+
16+
runs:
17+
using: "composite"
18+
steps:
19+
- name: libCURL
20+
id: get_libcurl
21+
env:
22+
CURL_VERSION: 8.6.0_6
23+
run: |
24+
curl.exe -o $env:RUNNER_TEMP/curl.zip -L "https://curl.se/windows/dl-${env:CURL_VERSION}/curl-${env:CURL_VERSION}-win64-mingw.zip"
25+
mkdir $env:RUNNER_TEMP/libcurl
26+
tar.exe -xvf $env:RUNNER_TEMP/curl.zip --strip-components=1 -C $env:RUNNER_TEMP/libcurl
27+
echo "curl_path=$env:RUNNER_TEMP/libcurl" >> $env:GITHUB_OUTPUT
28+
echo "curl_cmake_arg=' -DCURL_LIBRARY=\`"$env:RUNNER_TEMP/libcurl/lib/libcurl.dll.a\`" -DCURL_INCLUDE_DIR=\`"$env:RUNNER_TEMP/libcurl/include\`" '" >> $env:GITHUB_OUTPUT

.github/workflows/build-linux-cross.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,11 @@ jobs:
2323
libcurl4-openssl-dev
2424
2525
- name: Build
26+
# TODO: fix build with LLAMA_CURL=ON
2627
run: |
2728
cmake -B build -DCMAKE_BUILD_TYPE=Release \
2829
-DGGML_OPENMP=OFF \
30+
-DLLAMA_CURL=OFF \
2931
-DLLAMA_BUILD_EXAMPLES=ON \
3032
-DLLAMA_BUILD_TESTS=OFF \
3133
-DCMAKE_SYSTEM_NAME=Linux \
@@ -64,10 +66,12 @@ jobs:
6466
libcurl4-openssl-dev
6567
6668
- name: Build
69+
# TODO: fix build with LLAMA_CURL=ON
6770
run: |
6871
cmake -B build -DCMAKE_BUILD_TYPE=Release \
6972
-DGGML_VULKAN=ON \
7073
-DGGML_OPENMP=OFF \
74+
-DLLAMA_CURL=OFF \
7175
-DLLAMA_BUILD_EXAMPLES=ON \
7276
-DLLAMA_BUILD_TESTS=OFF \
7377
-DCMAKE_SYSTEM_NAME=Linux \
@@ -105,10 +109,12 @@ jobs:
105109
libcurl4-openssl-dev
106110
107111
- name: Build
112+
# TODO: fix build with LLAMA_CURL=ON
108113
run: |
109114
cmake -B build -DCMAKE_BUILD_TYPE=Release \
110115
-DGGML_VULKAN=ON \
111116
-DGGML_OPENMP=OFF \
117+
-DLLAMA_CURL=OFF \
112118
-DLLAMA_BUILD_EXAMPLES=ON \
113119
-DLLAMA_BUILD_TESTS=OFF \
114120
-DCMAKE_SYSTEM_NAME=Linux \

.github/workflows/server.yml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -192,17 +192,14 @@ jobs:
192192

193193
- name: libCURL
194194
id: get_libcurl
195-
env:
196-
CURL_VERSION: 8.6.0_6
197-
run: |
198-
curl.exe -o $env:RUNNER_TEMP/curl.zip -L "https://curl.se/windows/dl-${env:CURL_VERSION}/curl-${env:CURL_VERSION}-win64-mingw.zip"
199-
mkdir $env:RUNNER_TEMP/libcurl
200-
tar.exe -xvf $env:RUNNER_TEMP/curl.zip --strip-components=1 -C $env:RUNNER_TEMP/libcurl
195+
uses: ./.github/actions/windows-setup-curl.yml
201196

202197
- name: Build
203198
id: cmake_build
199+
env:
200+
CURL_CMAKE_ARG: ${{ steps.get_libcurl.outputs.curl_cmake_arg }}
204201
run: |
205-
cmake -B build -DCURL_LIBRARY="$env:RUNNER_TEMP/libcurl/lib/libcurl.dll.a" -DCURL_INCLUDE_DIR="$env:RUNNER_TEMP/libcurl/include"
202+
cmake -B build $env:CURL_CMAKE_ARG
206203
cmake --build build --config Release -j ${env:NUMBER_OF_PROCESSORS} --target llama-server
207204
208205
- name: Python setup
@@ -218,8 +215,10 @@ jobs:
218215
219216
- name: Copy Libcurl
220217
id: prepare_libcurl
218+
env:
219+
CURL_PATH: ${{ steps.get_libcurl.outputs.curl_path }}
221220
run: |
222-
cp $env:RUNNER_TEMP/libcurl/bin/libcurl-x64.dll ./build/bin/Release/libcurl-x64.dll
221+
cp $env:CURL_PATH/bin/libcurl-x64.dll ./build/bin/Release/libcurl-x64.dll
223222
224223
- name: Tests
225224
id: server_integration_tests

0 commit comments

Comments
 (0)