@@ -26,12 +26,12 @@ jobs:
2626 sudo apt-get install -y --no-install-recommends \
2727 build-essential \
2828 gcc-14-riscv64-linux-gnu \
29- g++-14-riscv64-linux-gnu \
30- libcurl4-openssl-dev:riscv64
29+ g++-14-riscv64-linux-gnu
3130
3231 - name : Build
3332 run : |
34- cmake -B build -DCMAKE_BUILD_TYPE=Release \
33+ cmake -B build -DLLAMA_CURL=OFF \
34+ -DCMAKE_BUILD_TYPE=Release \
3535 -DGGML_OPENMP=OFF \
3636 -DLLAMA_BUILD_EXAMPLES=ON \
3737 -DLLAMA_BUILD_TOOLS=ON \
@@ -72,12 +72,12 @@ jobs:
7272 glslc \
7373 gcc-14-riscv64-linux-gnu \
7474 g++-14-riscv64-linux-gnu \
75- libvulkan-dev:riscv64 \
76- libcurl4-openssl-dev:riscv64
75+ libvulkan-dev:riscv64
7776
7877 - name : Build
7978 run : |
80- cmake -B build -DCMAKE_BUILD_TYPE=Release \
79+ cmake -B build -DLLAMA_CURL=OFF \
80+ -DCMAKE_BUILD_TYPE=Release \
8181 -DGGML_VULKAN=ON \
8282 -DGGML_OPENMP=OFF \
8383 -DLLAMA_BUILD_EXAMPLES=ON \
@@ -118,12 +118,12 @@ jobs:
118118 build-essential \
119119 glslc \
120120 crossbuild-essential-arm64 \
121- libvulkan-dev:arm64 \
122- libcurl4-openssl-dev:arm64
121+ libvulkan-dev:arm64
123122
124123 - name : Build
125124 run : |
126- cmake -B build -DCMAKE_BUILD_TYPE=Release \
125+ cmake -B build -DLLAMA_CURL=OFF \
126+ -DCMAKE_BUILD_TYPE=Release \
127127 -DGGML_VULKAN=ON \
128128 -DGGML_OPENMP=OFF \
129129 -DLLAMA_BUILD_EXAMPLES=ON \
@@ -140,3 +140,207 @@ jobs:
140140 -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH
141141
142142 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