Commit 3de52ac38 for llama.cpp
commit 3de52ac38818978d6da8f386eda43a856e53714a
Author: Eve <139727413+netrunnereve@users.noreply.github.com>
Date: Wed Nov 4 22:34:01 2026 +0000
ci: run self hosted cpu jobs on hf or github (#31439)
diff --git a/.github/workflows/build-cmake-pkg.yml b/.github/workflows/build-cmake-pkg.yml
index 4e351ecb7..be138cec9 100644
--- a/.github/workflows/build-cmake-pkg.yml
+++ b/.github/workflows/build-cmake-pkg.yml
@@ -9,12 +9,28 @@ permissions:
jobs:
linux:
- runs-on: [self-hosted, Linux, fast]
+ runs-on: ubuntu-24.04
steps:
- - uses: actions/checkout@v6
+ - name: Clone
+ uses: actions/checkout@v6
with:
fetch-depth: 0
+ - name: ccache
+ uses: ggml-org/ccache-action@v1.2.24
+ with:
+ restore: false
+ save: false
+
+ - name: ccache-buckets-restore
+ uses: ./.github/actions/ccache-buckets
+ env:
+ HF_TOKEN: ${{ secrets.HF_TOKEN_CI }}
+ with:
+ key: build-cmake-pkg
+ folder: llama.cpp
+ hf_bucket: ggml-org/cache
+
- name: Build
run: |
PREFIX="$(pwd)"/inst
@@ -55,3 +71,15 @@ jobs:
cd examples/simple-cmake-pkg
cmake -S . -B build -DCMAKE_PREFIX_PATH="$PREFIX"/lib/cmake
cmake --build build -j $(nproc)
+
+ - name: ccache-buckets-save
+ if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
+ uses: ./.github/actions/ccache-buckets
+ env:
+ HF_TOKEN: ${{ secrets.HF_TOKEN_CACHE_OUTPUT }}
+ with:
+ key: build-cmake-pkg
+ folder: llama.cpp
+ evict-old-files: 1d
+ hf_bucket: ggml-org/cache
+ save: true
diff --git a/.github/workflows/build-sanitize.yml b/.github/workflows/build-sanitize.yml
index ed75a2dc1..33662423e 100644
--- a/.github/workflows/build-sanitize.yml
+++ b/.github/workflows/build-sanitize.yml
@@ -43,13 +43,12 @@ jobs:
strategy:
matrix:
include:
- # thread and address doesn't run properly on some self hosted machines, so run it on Github instead
- sanitizer: ADDRESS
- machine: ubuntu-24.04
+ machine: ubuntu-26.04
- sanitizer: THREAD
- machine: ubuntu-24.04
+ machine: ubuntu-26.04
- sanitizer: UNDEFINED
- machine: [self-hosted, X64, Linux, CPU]
+ machine: ubuntu-26.04
runs-on: ${{ matrix.machine }}
@@ -58,31 +57,24 @@ jobs:
id: checkout
uses: actions/checkout@v6
- # - name: ccache
- # uses: ggml-org/ccache-action@v1.2.24
- # if: ${{ matrix.sanitizer != 'UNDEFINED' }}
- # with:
- # key: ctest-${{ matrix.sanitizer }}-ubuntu-24.04
- # variant: ccache
- # evict-old-files: 1d
- # save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
-
- # with UNDEFINED sanitizer, we have to build in Debug to avoid GCC 13 false-positive warnings
- - name: Build (undefined)
- id: cmake_build_undefined
- if: ${{ matrix.sanitizer == 'UNDEFINED' }}
- run: |
- cmake -B build \
- -DCMAKE_BUILD_TYPE=Debug \
- -DLLAMA_FATAL_WARNINGS=ON \
- -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \
- -DGGML_SANITIZE_${{ matrix.sanitizer }}=ON
-
- cmake --build build --config Debug -j $(nproc)
+ - name: ccache
+ uses: ggml-org/ccache-action@v1.2.24
+ with:
+ restore: false
+ save: false
+
+ - name: ccache-buckets-restore
+ uses: ./.github/actions/ccache-buckets
+ env:
+ HF_TOKEN: ${{ secrets.HF_TOKEN_CI }}
+ with:
+ key: ctest-sanitizer-${{ matrix.sanitizer }}
+ folder: llama.cpp
+ hf_bucket: ggml-org/cache
- name: Build
id: cmake_build
- if: ${{ matrix.sanitizer == 'ADDRESS' }}
+ if: ${{ matrix.sanitizer == 'ADDRESS' || matrix.sanitizer == 'UNDEFINED' }}
run: |
cmake -B build \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
@@ -103,6 +95,18 @@ jobs:
cmake --build build --config RelWithDebInfo -j $(nproc)
+ - name: ccache-buckets-save
+ if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
+ uses: ./.github/actions/ccache-buckets
+ env:
+ HF_TOKEN: ${{ secrets.HF_TOKEN_CACHE_OUTPUT }}
+ with:
+ key: ctest-sanitizer-${{ matrix.sanitizer }}
+ folder: llama.cpp
+ evict-old-files: 1d
+ hf_bucket: ggml-org/cache
+ save: true
+
- name: Test
id: cmake_test
run: |
diff --git a/.github/workflows/ci-self-hosted-cpu.yml b/.github/workflows/ci-self-hosted-cpu.yml
index 7152c4de8..4cb9be587 100644
--- a/.github/workflows/ci-self-hosted-cpu.yml
+++ b/.github/workflows/ci-self-hosted-cpu.yml
@@ -46,18 +46,49 @@ env:
jobs:
cpu-x64-high-perf:
- runs-on: [self-hosted, Linux, X64, CPU]
+ runs-on: hf-jobs-cpu-upgrade:ubuntu26_04
steps:
- name: Clone
id: checkout
uses: actions/checkout@v6
+ - name: Dependencies
+ id: depends
+ run: |
+ sudo apt update
+ sudo apt install -y build-essential cmake libssl-dev time unzip wget python3 python3-venv python3-dev
+
+ - name: ccache
+ uses: ggml-org/ccache-action@v1.2.24
+ with:
+ restore: false
+ save: false
+
+ - name: ccache-buckets-restore
+ uses: ./.github/actions/ccache-buckets
+ with:
+ key: self-hosted-cpu-x64-high-perf
+ folder: llama.cpp
+ hf_bucket: ggml-org/cache
+
- name: Test
id: ggml-ci
run: |
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_HIGH_PERF=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp/$RUNNER_NAME ~/mnt/llama.cpp
+ - name: ccache-buckets-save
+ if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
+ uses: ./.github/actions/ccache-buckets
+ env:
+ HF_TOKEN: ${{ secrets.HF_TOKEN_CACHE_OUTPUT }}
+ with:
+ key: self-hosted-cpu-x64-high-perf
+ folder: llama.cpp
+ evict-old-files: 1d
+ hf_bucket: ggml-org/cache
+ save: true
+
cpu-arm64-high-perf-graviton4:
runs-on: ah-ubuntu_24_04-c8g_8x