@@ -236,6 +236,75 @@ jobs:
236236 path : llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-${{ matrix.build }}.tar.gz
237237 name : llama-bin-ubuntu-vulkan-${{ matrix.build }}.tar.gz
238238
239+ android-arm64 :
240+ runs-on : ubuntu-latest
241+
242+ env :
243+ NDK_VERSION : " 29.0.14206865"
244+
245+ steps :
246+ - name : Clone
247+ id : checkout
248+ uses : actions/checkout@v6
249+ with :
250+ fetch-depth : 0
251+
252+ - name : ccache
253+ uses : ggml-org/ccache-action@v1.2.21
254+ with :
255+ key : android-arm64
256+ evict-old-files : 1d
257+
258+ - name : Set up JDK
259+ uses : actions/setup-java@v5
260+ with :
261+ java-version : 17
262+ distribution : temurin
263+
264+ - name : Setup Android SDK
265+ uses : android-actions/setup-android@40fd30fb8d7440372e1316f5d1809ec01dcd3699 # v4.0.1
266+ with :
267+ log-accepted-android-sdk-licenses : false
268+
269+ - name : Install NDK
270+ run : |
271+ sdkmanager "ndk;${{ env.NDK_VERSION }}"
272+ echo "ANDROID_NDK=${ANDROID_SDK_ROOT}/ndk/${{ env.NDK_VERSION }}" >> $GITHUB_ENV
273+
274+ - name : Build
275+ id : cmake_build
276+ run : |
277+ cmake -B build \
278+ -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake \
279+ -DANDROID_ABI=arm64-v8a \
280+ -DANDROID_PLATFORM=android-28 \
281+ -DCMAKE_INSTALL_RPATH='$ORIGIN' \
282+ -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
283+ -DGGML_BACKEND_DL=ON \
284+ -DGGML_NATIVE=OFF \
285+ -DGGML_CPU_ALL_VARIANTS=ON \
286+ -DLLAMA_FATAL_WARNINGS=ON \
287+ -DGGML_OPENMP=OFF \
288+ -DLLAMA_BUILD_BORINGSSL=ON \
289+ ${{ env.CMAKE_ARGS }}
290+ cmake --build build --config Release -j $(nproc)
291+
292+ - name : Determine tag name
293+ id : tag
294+ uses : ./.github/actions/get-tag-name
295+
296+ - name : Pack artifacts
297+ id : pack_artifacts
298+ run : |
299+ cp LICENSE ./build/bin/
300+ tar -czvf llama-${{ steps.tag.outputs.name }}-bin-android-arm64.tar.gz --transform "s,./,llama-${{ steps.tag.outputs.name }}/," -C ./build/bin .
301+
302+ - name : Upload artifacts
303+ uses : actions/upload-artifact@v6
304+ with :
305+ path : llama-${{ steps.tag.outputs.name }}-bin-android-arm64.tar.gz
306+ name : llama-bin-android-arm64.tar.gz
307+
239308 ubuntu-24-openvino :
240309 runs-on : ubuntu-24.04
241310
@@ -971,6 +1040,7 @@ jobs:
9711040 - ubuntu-cpu
9721041 - ubuntu-vulkan
9731042 - ubuntu-24-openvino
1043+ - android-arm64
9741044 - macOS-cpu
9751045 - ios-xcode-build
9761046 - openEuler-cann
@@ -1059,6 +1129,9 @@ jobs:
10591129 - [Ubuntu x64 (ROCm 7.2)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-rocm-7.2-x64.tar.gz)
10601130 - [Ubuntu x64 (OpenVINO)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-openvino-${{ needs.ubuntu-24-openvino.outputs.openvino_version }}-x64.tar.gz)
10611131
1132+ **Android:**
1133+ - [Android arm64 (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-android-arm64.tar.gz)
1134+
10621135 **Windows:**
10631136 - [Windows x64 (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-cpu-x64.zip)
10641137 - [Windows arm64 (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-win-cpu-arm64.zip)
0 commit comments