@@ -26,12 +26,12 @@ jobs:
26
26
sudo apt-get install -y --no-install-recommends \
27
27
build-essential \
28
28
gcc-14-riscv64-linux-gnu \
29
- g++-14-riscv64-linux-gnu \
30
- libcurl4-openssl-dev:riscv64
29
+ g++-14-riscv64-linux-gnu
31
30
32
31
- name : Build
33
32
run : |
34
- cmake -B build -DCMAKE_BUILD_TYPE=Release \
33
+ cmake -B build -DLLAMA_CURL=OFF \
34
+ -DCMAKE_BUILD_TYPE=Release \
35
35
-DGGML_OPENMP=OFF \
36
36
-DLLAMA_BUILD_EXAMPLES=ON \
37
37
-DLLAMA_BUILD_TOOLS=ON \
@@ -72,12 +72,12 @@ jobs:
72
72
glslc \
73
73
gcc-14-riscv64-linux-gnu \
74
74
g++-14-riscv64-linux-gnu \
75
- libvulkan-dev:riscv64 \
76
- libcurl4-openssl-dev:riscv64
75
+ libvulkan-dev:riscv64
77
76
78
77
- name : Build
79
78
run : |
80
- cmake -B build -DCMAKE_BUILD_TYPE=Release \
79
+ cmake -B build -DLLAMA_CURL=OFF \
80
+ -DCMAKE_BUILD_TYPE=Release \
81
81
-DGGML_VULKAN=ON \
82
82
-DGGML_OPENMP=OFF \
83
83
-DLLAMA_BUILD_EXAMPLES=ON \
@@ -118,12 +118,12 @@ jobs:
118
118
build-essential \
119
119
glslc \
120
120
crossbuild-essential-arm64 \
121
- libvulkan-dev:arm64 \
122
- libcurl4-openssl-dev:arm64
121
+ libvulkan-dev:arm64
123
122
124
123
- name : Build
125
124
run : |
126
- cmake -B build -DCMAKE_BUILD_TYPE=Release \
125
+ cmake -B build -DLLAMA_CURL=OFF \
126
+ -DCMAKE_BUILD_TYPE=Release \
127
127
-DGGML_VULKAN=ON \
128
128
-DGGML_OPENMP=OFF \
129
129
-DLLAMA_BUILD_EXAMPLES=ON \
@@ -140,3 +140,207 @@ jobs:
140
140
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH
141
141
142
142
cmake --build build --config Release -j $(nproc)
143
+
144
+ ubuntu-24-ppc64el-cpu-cross :
145
+ runs-on : ubuntu-24.04
146
+
147
+ steps :
148
+ - uses : actions/checkout@v4
149
+ - name : Setup PowerPC64le
150
+ run : |
151
+ sudo dpkg --add-architecture ppc64el
152
+
153
+ # Add arch-specific repositories for non-amd64 architectures
154
+ cat << EOF | sudo tee /etc/apt/sources.list.d/ppc64el-ports.list
155
+ deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ noble main universe
156
+ deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ noble-updates main universe
157
+ deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ noble-security main universe
158
+ deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ noble-backports main universe
159
+ EOF
160
+
161
+ sudo apt-get update || true ;# Prevent failure due to missing URLs.
162
+
163
+ sudo apt-get install -y --no-install-recommends \
164
+ build-essential \
165
+ gcc-14-powerpc64le-linux-gnu \
166
+ g++-14-powerpc64le-linux-gnu
167
+
168
+ - name : Build
169
+ run : |
170
+ cmake -B build -DLLAMA_CURL=OFF \
171
+ -DCMAKE_BUILD_TYPE=Release \
172
+ -DGGML_OPENMP=OFF \
173
+ -DLLAMA_BUILD_EXAMPLES=ON \
174
+ -DLLAMA_BUILD_TOOLS=ON \
175
+ -DLLAMA_BUILD_TESTS=OFF \
176
+ -DCMAKE_SYSTEM_NAME=Linux \
177
+ -DCMAKE_SYSTEM_PROCESSOR=ppc64 \
178
+ -DCMAKE_C_COMPILER=powerpc64le-linux-gnu-gcc-14 \
179
+ -DCMAKE_CXX_COMPILER=powerpc64le-linux-gnu-g++-14 \
180
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
181
+ -DCMAKE_FIND_ROOT_PATH=/usr/lib/powerpc64le-linux-gnu \
182
+ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
183
+ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
184
+ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH
185
+
186
+ cmake --build build --config Release -j $(nproc)
187
+
188
+ ubuntu-24-ppc64el-vulkan-cross :
189
+ runs-on : ubuntu-24.04
190
+
191
+ steps :
192
+ - uses : actions/checkout@v4
193
+ - name : Setup PowerPC64le
194
+ run : |
195
+ sudo dpkg --add-architecture ppc64el
196
+
197
+ # Add arch-specific repositories for non-amd64 architectures
198
+ cat << EOF | sudo tee /etc/apt/sources.list.d/ppc64el-ports.list
199
+ deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ noble main universe
200
+ deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ noble-updates main universe
201
+ deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ noble-security main universe
202
+ deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ noble-backports main universe
203
+ EOF
204
+
205
+ sudo apt-get update || true ;# Prevent failure due to missing URLs.
206
+
207
+ sudo apt-get install -y --no-install-recommends \
208
+ build-essential \
209
+ glslc \
210
+ gcc-14-powerpc64le-linux-gnu \
211
+ g++-14-powerpc64le-linux-gnu \
212
+ libvulkan-dev:ppc64el
213
+
214
+ - name : Build
215
+ run : |
216
+ cmake -B build -DLLAMA_CURL=OFF \
217
+ -DCMAKE_BUILD_TYPE=Release \
218
+ -DGGML_VULKAN=ON \
219
+ -DGGML_OPENMP=OFF \
220
+ -DLLAMA_BUILD_EXAMPLES=ON \
221
+ -DLLAMA_BUILD_TOOLS=ON \
222
+ -DLLAMA_BUILD_TESTS=OFF \
223
+ -DCMAKE_SYSTEM_NAME=Linux \
224
+ -DCMAKE_SYSTEM_PROCESSOR=ppc64 \
225
+ -DCMAKE_C_COMPILER=powerpc64le-linux-gnu-gcc-14 \
226
+ -DCMAKE_CXX_COMPILER=powerpc64le-linux-gnu-g++-14 \
227
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
228
+ -DCMAKE_FIND_ROOT_PATH=/usr/lib/powerpc64le-linux-gnu \
229
+ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
230
+ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
231
+ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH
232
+
233
+ cmake --build build --config Release -j $(nproc)
234
+
235
+ debian-13-loongarch64-cpu-cross :
236
+ runs-on : ubuntu-24.04
237
+ container : debian@sha256:653dfb9f86c3782e8369d5f7d29bb8faba1f4bff9025db46e807fa4c22903671
238
+
239
+ steps :
240
+ - uses : actions/checkout@v4
241
+ - name : Setup LoongArch
242
+ run : |
243
+ rm -f /etc/apt/sources.list.d/*
244
+ cat << EOF | tee /etc/apt/sources.list.d/debian-ports.list
245
+ deb http://snapshot.debian.org/archive/debian/20250515T202920Z/ trixie main
246
+ EOF
247
+ ( echo 'quiet "true";'; \
248
+ echo 'APT::Get::Assume-Yes "true";'; \
249
+ echo 'APT::Install-Recommends "false";'; \
250
+ echo 'Acquire::Check-Valid-Until "false";'; \
251
+ echo 'Acquire::Retries "5";'; \
252
+ ) > /etc/apt/apt.conf.d/99snapshot-repos
253
+
254
+ apt-get update
255
+ apt-get install -y ca-certificates debian-ports-archive-keyring cmake git zip
256
+ dpkg --add-architecture loong64
257
+
258
+ # Add arch-specific repositories for non-amd64 architectures
259
+ cat << EOF | tee /etc/apt/sources.list.d/loong64-ports.list
260
+ deb [arch=loong64] http://snapshot.debian.org/archive/debian-ports/20250515T194251Z/ sid main
261
+ EOF
262
+
263
+ apt-get update || true ;# Prevent failure due to missing URLs.
264
+
265
+ apt-get install -y --no-install-recommends \
266
+ build-essential \
267
+ gcc-14-loongarch64-linux-gnu \
268
+ g++-14-loongarch64-linux-gnu
269
+
270
+ - name : Build
271
+ run : |
272
+ cmake -B build -DLLAMA_CURL=OFF \
273
+ -DCMAKE_BUILD_TYPE=Release \
274
+ -DGGML_OPENMP=OFF \
275
+ -DLLAMA_BUILD_EXAMPLES=ON \
276
+ -DLLAMA_BUILD_TOOLS=ON \
277
+ -DLLAMA_BUILD_TESTS=OFF \
278
+ -DCMAKE_SYSTEM_NAME=Linux \
279
+ -DCMAKE_SYSTEM_PROCESSOR=loongarch64 \
280
+ -DCMAKE_C_COMPILER=loongarch64-linux-gnu-gcc-14 \
281
+ -DCMAKE_CXX_COMPILER=loongarch64-linux-gnu-g++-14 \
282
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
283
+ -DCMAKE_FIND_ROOT_PATH=/usr/lib/loongarch64-linux-gnu \
284
+ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
285
+ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
286
+ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH
287
+
288
+ cmake --build build --config Release -j $(nproc)
289
+
290
+ debian-13-loongarch64-vulkan-cross :
291
+ runs-on : ubuntu-24.04
292
+ container : debian@sha256:653dfb9f86c3782e8369d5f7d29bb8faba1f4bff9025db46e807fa4c22903671
293
+
294
+ steps :
295
+ - uses : actions/checkout@v4
296
+ - name : Setup LoongArch
297
+ run : |
298
+ rm -f /etc/apt/sources.list.d/*
299
+ cat << EOF | tee /etc/apt/sources.list.d/debian-ports.list
300
+ deb http://snapshot.debian.org/archive/debian/20250515T202920Z/ trixie main
301
+ EOF
302
+ ( echo 'quiet "true";'; \
303
+ echo 'APT::Get::Assume-Yes "true";'; \
304
+ echo 'APT::Install-Recommends "false";'; \
305
+ echo 'Acquire::Check-Valid-Until "false";'; \
306
+ echo 'Acquire::Retries "5";'; \
307
+ ) > /etc/apt/apt.conf.d/99snapshot-repos
308
+
309
+ apt-get update
310
+ apt-get install -y ca-certificates debian-ports-archive-keyring cmake git zip
311
+ dpkg --add-architecture loong64
312
+
313
+ # Add arch-specific repositories for non-amd64 architectures
314
+ cat << EOF | tee /etc/apt/sources.list.d/loong64-ports.list
315
+ deb [arch=loong64] http://snapshot.debian.org/archive/debian-ports/20250515T194251Z/ sid main
316
+ EOF
317
+
318
+ apt-get update || true ;# Prevent failure due to missing URLs.
319
+
320
+ apt-get install -y --no-install-recommends \
321
+ build-essential \
322
+ glslc \
323
+ gcc-14-loongarch64-linux-gnu \
324
+ g++-14-loongarch64-linux-gnu \
325
+ libvulkan-dev:loong64
326
+
327
+ - name : Build
328
+ run : |
329
+ cmake -B build -DLLAMA_CURL=OFF \
330
+ -DCMAKE_BUILD_TYPE=Release \
331
+ -DGGML_VULKAN=ON \
332
+ -DGGML_OPENMP=OFF \
333
+ -DLLAMA_BUILD_EXAMPLES=ON \
334
+ -DLLAMA_BUILD_TOOLS=ON \
335
+ -DLLAMA_BUILD_TESTS=OFF \
336
+ -DCMAKE_SYSTEM_NAME=Linux \
337
+ -DCMAKE_SYSTEM_PROCESSOR=loongarch64 \
338
+ -DCMAKE_C_COMPILER=loongarch64-linux-gnu-gcc-14 \
339
+ -DCMAKE_CXX_COMPILER=loongarch64-linux-gnu-g++-14 \
340
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
341
+ -DCMAKE_FIND_ROOT_PATH=/usr/lib/loongarch64-linux-gnu \
342
+ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
343
+ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
344
+ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH
345
+
346
+ cmake --build build --config Release -j $(nproc)
0 commit comments