Commit 2277e7529 for llama.cpp
commit 2277e75297452d98c028606e99fcaa743b2f23e2
Author: Aaron Teo <aaron.teo1@ibm.com>
Date: Sun Nov 8 17:47:29 2026 +0800
ci: move runners to Ubuntu 26.04 (#31529)
* ci: update to ubuntu26.04
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
* ci: bring back toolchain workaround
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
* ci: remove workaround completely
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
* ci: more switching to ubuntu 26.04
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
* ci: pin android cmake version
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
* ci: restore ubuntu 24.04 for s390x
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
* ci: fix missing s390x ubuntu 24.04 release link
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
* ci: switch release-publish to ubuntu-latest
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
* devops: revert --break-system-packages
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
* ci: bring back ubuntu 24.04 for arm release
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
* ci: revert ubuntu 26.04 from release.yml
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
* ci: fix broken links
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
* ci: fix openvino job naming
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
* devops: revert vulkan dockerfile to use system python3
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
---------
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
diff --git a/.devops/cpu.Dockerfile b/.devops/cpu.Dockerfile
index 0eba8f008..0809c8b7e 100644
--- a/.devops/cpu.Dockerfile
+++ b/.devops/cpu.Dockerfile
@@ -1,4 +1,4 @@
-ARG UBUNTU_VERSION=24.04
+ARG UBUNTU_VERSION=26.04
ARG BUILD_DATE=N/A
ARG APP_VERSION=N/A
ARG APP_REVISION=N/A
@@ -22,9 +22,7 @@ FROM docker.io/ubuntu:$UBUNTU_VERSION AS build
ARG TARGETARCH
RUN apt-get update && \
- apt-get install -y gcc-14 g++-14 build-essential git cmake libssl-dev
-
-ENV CC=gcc-14 CXX=g++-14
+ apt-get install -y build-essential git cmake libssl-dev
WORKDIR /app
diff --git a/.devops/vulkan.Dockerfile b/.devops/vulkan.Dockerfile
index 90e8693cf..96b7e66ec 100644
--- a/.devops/vulkan.Dockerfile
+++ b/.devops/vulkan.Dockerfile
@@ -82,20 +82,14 @@ COPY --from=build /app/full /app
WORKDIR /app
-ENV PATH="/root/.venv/bin:/root/.local/bin:${PATH}"
-
-# Flag for compatibility with pip
-ARG UV_INDEX_STRATEGY="unsafe-best-match"
RUN apt-get update \
&& apt-get install -y \
- build-essential \
- curl \
git \
- ca-certificates \
- && curl -LsSf https://astral.sh/uv/install.sh | sh \
- && uv python install 3.13 \
- && uv venv --python 3.13 /root/.venv \
- && uv pip install --python /root/.venv/bin/python -r requirements.txt \
+ python3 \
+ python3-pip \
+ python3-wheel \
+ && pip install --break-system-packages --upgrade setuptools \
+ && pip install --break-system-packages -r requirements.txt \
&& apt autoremove -y \
&& apt clean -y \
&& rm -rf /tmp/* /var/tmp/* \
diff --git a/.github/workflows/build-3rd-party.yml b/.github/workflows/build-3rd-party.yml
index fe25f3909..0b9e52647 100644
--- a/.github/workflows/build-3rd-party.yml
+++ b/.github/workflows/build-3rd-party.yml
@@ -31,8 +31,8 @@ env:
LLAMA_ARG_LOG_TIMESTAMPS: 1
jobs:
- ubuntu-24-llguidance:
- runs-on: ${{ 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
+ ubuntu-26-llguidance:
+ runs-on: ${{ 'ubuntu-26.04-arm' || 'ubuntu-26.04' }}
steps:
- name: Clone
diff --git a/.github/workflows/build-and-test-snapdragon.yml b/.github/workflows/build-and-test-snapdragon.yml
index f7f94d7ee..a95f64acd 100644
--- a/.github/workflows/build-and-test-snapdragon.yml
+++ b/.github/workflows/build-and-test-snapdragon.yml
@@ -33,7 +33,7 @@ concurrency:
jobs:
android-ndk-snapdragon:
- runs-on: ubuntu-24.04 # previously ubuntu-latest
+ runs-on: ubuntu-26.04
container:
image: 'ghcr.io/snapdragon-toolchain/arm64-android:v0.8'
defaults:
@@ -67,7 +67,7 @@ jobs:
path: pkg-snapdragon/llama.cpp
linux-iot-snapdragon:
- runs-on: ubuntu-24.04 # previously ubuntu-latest
+ runs-on: ubuntu-26.04
container:
image: 'ghcr.io/snapdragon-toolchain/arm64-linux:v0.8'
defaults:
@@ -103,7 +103,7 @@ jobs:
test-snapdragon-qdc:
name: Test on QDC Device (${{ matrix.device }})
needs: [android-ndk-snapdragon, linux-iot-snapdragon]
- runs-on: ubuntu-24.04-arm
+ runs-on: ubuntu-26.04-arm
timeout-minutes: 180
strategy:
fail-fast: false
diff --git a/.github/workflows/build-android.yml b/.github/workflows/build-android.yml
index 4db7c2269..bbe23cf3f 100644
--- a/.github/workflows/build-android.yml
+++ b/.github/workflows/build-android.yml
@@ -37,7 +37,7 @@ env:
jobs:
default:
- runs-on: ubuntu-24.04 # previously ubuntu-latest
+ runs-on: ubuntu-26.04
steps:
- name: Clone
@@ -56,6 +56,7 @@ jobs:
uses: android-actions/setup-android@be39fa834029ff78f1a44aa3bb0819b8fc2bd8fd # v4.0.4
with:
log-accepted-android-sdk-licenses: false
+ packages: platform-tools cmake;3.31.6
- name: Build
run: |
@@ -63,7 +64,7 @@ jobs:
./gradlew build --no-daemon
ndk:
- runs-on: ubuntu-24.04 # previously ubuntu-latest
+ runs-on: ubuntu-26.04
container:
image: 'ghcr.io/snapdragon-toolchain/arm64-android:v0.3'
defaults:
@@ -101,7 +102,7 @@ jobs:
path: pkg-adb/llama.cpp
arm64:
- runs-on: ubuntu-24.04 # previously ubuntu-latest
+ runs-on: ubuntu-26.04
env:
NDK_VERSION: "29.0.14206865"
diff --git a/.github/workflows/build-cache.yml b/.github/workflows/build-cache.yml
index 72442ae95..6de8138b2 100644
--- a/.github/workflows/build-cache.yml
+++ b/.github/workflows/build-cache.yml
@@ -40,8 +40,8 @@ jobs:
# path: ./spacemit_toolchain
# version: ${{ env.SPACEMIT_IME_TOOLCHAIN_VERSION }}
- ubuntu-24-openvino-cache:
- runs-on: ubuntu-24.04
+ ubuntu-26-openvino-cache:
+ runs-on: ubuntu-26.04
env:
# Sync versions in build-openvino.yml, ci-self-hosted-openvino.yml, release.yml, release-publish.yml, build-cache.yml, .devops/openvino.Dockerfile, docs/backend/OPENVINO.md
diff --git a/.github/workflows/build-cpu.yml b/.github/workflows/build-cpu.yml
index 2f8347def..35d610e1e 100644
--- a/.github/workflows/build-cpu.yml
+++ b/.github/workflows/build-cpu.yml
@@ -50,9 +50,9 @@ jobs:
matrix:
include:
- build: 'x64'
- os: ubuntu-22.04
+ os: ubuntu-26.04
- build: 'arm64'
- os: ubuntu-24.04-arm
+ os: ubuntu-26.04-arm
runs-on: ${{ matrix.os }}
@@ -76,13 +76,6 @@ jobs:
libjpeg-dev build-essential libssl-dev \
git-lfs
- - name: Toolchain workaround (GCC 14)
- if: ${{ contains(matrix.os, 'ubuntu-24.04') }}
- run: |
- sudo apt-get install -y gcc-14 g++-14
- echo "CC=gcc-14" >> "$GITHUB_ENV"
- echo "CXX=g++-14" >> "$GITHUB_ENV"
-
- name: Python Dependencies
id: python_depends
run: |
diff --git a/.github/workflows/build-cross.yml b/.github/workflows/build-cross.yml
index cc432bd4f..00cd5dc5c 100644
--- a/.github/workflows/build-cross.yml
+++ b/.github/workflows/build-cross.yml
@@ -163,7 +163,7 @@ jobs:
# cmake --build build --config Release -j $(nproc)
debian-13-loongarch64-cpu-cross:
- runs-on: ${{ 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
+ runs-on: ${{ 'ubuntu-26.04-arm' || 'ubuntu-26.04' }}
container: debian@sha256:653dfb9f86c3782e8369d5f7d29bb8faba1f4bff9025db46e807fa4c22903671
steps:
@@ -218,7 +218,7 @@ jobs:
cmake --build build --config Release -j $(nproc)
debian-13-loongarch64-vulkan-cross:
- runs-on: ${{ 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
+ runs-on: ${{ 'ubuntu-26.04-arm' || 'ubuntu-26.04' }}
container: debian@sha256:653dfb9f86c3782e8369d5f7d29bb8faba1f4bff9025db46e807fa4c22903671
steps:
@@ -276,8 +276,8 @@ jobs:
cmake --build build --config Release -j $(nproc)
- ubuntu-24-riscv64-cpu-spacemit-ime-cross:
- runs-on: ubuntu-24.04
+ ubuntu-26-riscv64-cpu-spacemit-ime-cross:
+ runs-on: ubuntu-26.04
env:
# Make sure this is in sync with build-cache.yml
diff --git a/.github/workflows/build-sycl.yml b/.github/workflows/build-sycl.yml
index ecfab4e52..d48ffd6ed 100644
--- a/.github/workflows/build-sycl.yml
+++ b/.github/workflows/build-sycl.yml
@@ -38,7 +38,7 @@ env:
LLAMA_ARG_LOG_TIMESTAMPS: 1
jobs:
- ubuntu-24-sycl:
+ ubuntu-26-sycl:
strategy:
matrix:
build: [fp32, fp16]
@@ -48,7 +48,7 @@ jobs:
- build: fp16
fp16: ON
- runs-on: ubuntu-24.04
+ runs-on: ubuntu-26.04
env:
ONEAPI_ROOT: /opt/intel/oneapi/
@@ -103,7 +103,7 @@ jobs:
env:
HF_TOKEN: ${{ secrets.HF_TOKEN_CI }}
with:
- key: sycl-ubuntu-24-${{ matrix.build }}
+ key: sycl-ubuntu-26-${{ matrix.build }}
folder: llama.cpp
hf_bucket: ggml-org/cache
@@ -131,7 +131,7 @@ jobs:
env:
HF_TOKEN: ${{ secrets.HF_TOKEN_CACHE_OUTPUT }}
with:
- key: sycl-ubuntu-24-${{ matrix.build }}
+ key: sycl-ubuntu-26-${{ matrix.build }}
folder: llama.cpp
evict-old-files: 1d
hf_bucket: ggml-org/cache
diff --git a/.github/workflows/build-virtgpu.yml b/.github/workflows/build-virtgpu.yml
index 576865783..6e7bf342e 100644
--- a/.github/workflows/build-virtgpu.yml
+++ b/.github/workflows/build-virtgpu.yml
@@ -31,8 +31,8 @@ concurrency:
cancel-in-progress: true
jobs:
- ubuntu-24-virtgpu:
- runs-on: ${{ 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
+ ubuntu-26-virtgpu:
+ runs-on: ${{ 'ubuntu-26.04-arm' || 'ubuntu-26.04' }}
steps:
- name: Clone
diff --git a/.github/workflows/build-vulkan.yml b/.github/workflows/build-vulkan.yml
index c4c08621f..d2375b014 100644
--- a/.github/workflows/build-vulkan.yml
+++ b/.github/workflows/build-vulkan.yml
@@ -42,7 +42,7 @@ env:
jobs:
ubuntu-arm64:
- runs-on: ubuntu-24.04-arm
+ runs-on: ubuntu-26.04-arm
steps:
- name: Clone
@@ -53,9 +53,7 @@ jobs:
id: depends
run: |
sudo apt-get update
- sudo apt-get install -y gcc-14 g++-14 build-essential glslc libvulkan-dev spirv-headers libssl-dev ninja-build
- echo "CC=gcc-14" >> "$GITHUB_ENV"
- echo "CXX=g++-14" >> "$GITHUB_ENV"
+ sudo apt-get install -y build-essential glslc libvulkan-dev spirv-headers libssl-dev ninja-build
- name: ccache
uses: ggml-org/ccache-action@v1.2.24
@@ -69,7 +67,7 @@ jobs:
env:
HF_TOKEN: ${{ secrets.HF_TOKEN_CI }}
with:
- key: vulkan-ubuntu-24.04-arm
+ key: vulkan-ubuntu-26.04-arm
folder: llama.cpp
hf_bucket: ggml-org/cache
@@ -92,14 +90,14 @@ jobs:
env:
HF_TOKEN: ${{ secrets.HF_TOKEN_CACHE_OUTPUT }}
with:
- key: vulkan-ubuntu-24.04-arm
+ key: vulkan-ubuntu-26.04-arm
folder: llama.cpp
evict-old-files: 1d
hf_bucket: ggml-org/cache
save: true
ubuntu-llvmpipe:
- runs-on: ubuntu-24.04
+ runs-on: ubuntu-26.04
steps:
- name: Clone
@@ -137,7 +135,7 @@ jobs:
env:
HF_TOKEN: ${{ secrets.HF_TOKEN_CI }}
with:
- key: vulkan-ubuntu-24.04-llvmpipe
+ key: vulkan-ubuntu-26.04-llvmpipe
folder: llama.cpp
hf_bucket: ggml-org/cache
@@ -156,7 +154,7 @@ jobs:
env:
HF_TOKEN: ${{ secrets.HF_TOKEN_CACHE_OUTPUT }}
with:
- key: vulkan-ubuntu-24.04-llvmpipe
+ key: vulkan-ubuntu-26.04-llvmpipe
folder: llama.cpp
evict-old-files: 1d
hf_bucket: ggml-org/cache
diff --git a/.github/workflows/build-wasi.yml b/.github/workflows/build-wasi.yml
index c6dbd6666..2ea854c01 100644
--- a/.github/workflows/build-wasi.yml
+++ b/.github/workflows/build-wasi.yml
@@ -49,7 +49,7 @@ env:
jobs:
ubuntu-webgpu:
- runs-on: ubuntu-24.04-arm
+ runs-on: ubuntu-26.04-arm
steps:
- name: Clone
@@ -97,7 +97,7 @@ jobs:
env:
HF_TOKEN: ${{ secrets.HF_TOKEN_CI }}
with:
- key: webgpu-ubuntu-24.04-arm-wasi
+ key: webgpu-ubuntu-26.04-arm-wasi
folder: llama.cpp
hf_bucket: ggml-org/cache
@@ -135,7 +135,7 @@ jobs:
env:
HF_TOKEN: ${{ secrets.HF_TOKEN_CACHE_OUTPUT }}
with:
- key: webgpu-ubuntu-24.04-arm-wasi
+ key: webgpu-ubuntu-26.04-arm-wasi
folder: llama.cpp
evict-old-files: 1d
hf_bucket: ggml-org/cache
diff --git a/.github/workflows/build-wasm.yml b/.github/workflows/build-wasm.yml
index f96fd85a9..bfe57033e 100644
--- a/.github/workflows/build-wasm.yml
+++ b/.github/workflows/build-wasm.yml
@@ -50,7 +50,7 @@ env:
jobs:
ubuntu-webgpu:
- runs-on: ubuntu-24.04-arm
+ runs-on: ubuntu-26.04-arm
steps:
- name: Clone
@@ -84,7 +84,7 @@ jobs:
env:
HF_TOKEN: ${{ secrets.HF_TOKEN_CI }}
with:
- key: webgpu-ubuntu-24.04-arm-wasm
+ key: webgpu-ubuntu-26.04-arm-wasm
folder: llama.cpp
hf_bucket: ggml-org/cache
@@ -107,7 +107,7 @@ jobs:
env:
HF_TOKEN: ${{ secrets.HF_TOKEN_CACHE_OUTPUT }}
with:
- key: webgpu-ubuntu-24.04-arm-wasm
+ key: webgpu-ubuntu-26.04-arm-wasm
folder: llama.cpp
evict-old-files: 1d
hf_bucket: ggml-org/cache
diff --git a/.github/workflows/build-webgpu.yml b/.github/workflows/build-webgpu.yml
index 88f2c6f5d..ec515adcc 100644
--- a/.github/workflows/build-webgpu.yml
+++ b/.github/workflows/build-webgpu.yml
@@ -34,7 +34,7 @@ env:
jobs:
format:
- runs-on: ubuntu-24.04
+ runs-on: ubuntu-26.04
steps:
- name: Clone
@@ -45,7 +45,7 @@ jobs:
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key |
sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc > /dev/null
sudo add-apt-repository -y \
- "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-22 main"
+ "deb http://apt.llvm.org/resolute/ llvm-toolchain-resolute-22 main"
sudo apt-get update
sudo apt-get install -y clang-format-22
diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml
index 5527e73b6..9eb1113ab 100644
--- a/.github/workflows/copilot-setup-steps.yml
+++ b/.github/workflows/copilot-setup-steps.yml
@@ -16,7 +16,7 @@ cache-mode: none
jobs:
# The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
copilot-setup-steps:
- runs-on: ubuntu-24.04
+ runs-on: ubuntu-26.04
# Set the permissions to the lowest permissions possible needed for your steps.
# Copilot will be given its own token for its operations.
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
index 3947f7fe5..ad1a9de9a 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -70,7 +70,7 @@ jobs:
prepare_matrices:
name: Prepare Docker matrices
- runs-on: ubuntu-24.04
+ runs-on: ubuntu-26.04
outputs:
build_matrix: ${{ steps.matrices.outputs.build_matrix }}
merge_matrix: ${{ steps.matrices.outputs.merge_matrix }}
@@ -87,19 +87,19 @@ jobs:
# Keep all build targets in one place and derive merge targets from it.
cat > build-matrix.json <<'JSON'
[
- { "tag": "cpu", "dockerfile": ".devops/cpu.Dockerfile", "platforms": "linux/amd64", "full": true, "light": true, "server": true, "free_disk_space": false, "runs_on": "ubuntu-24.04" },
- { "tag": "cpu", "dockerfile": ".devops/cpu.Dockerfile", "platforms": "linux/arm64", "full": true, "light": true, "server": true, "free_disk_space": false, "runs_on": "ubuntu-24.04-arm" },
- { "tag": "cpu", "dockerfile": ".devops/s390x.Dockerfile", "platforms": "linux/s390x", "full": true, "light": true, "server": true, "free_disk_space": false, "runs_on": "ubuntu-24.04-s390x", "prebuilt_ui": true },
- { "tag": "cuda cuda12", "dockerfile": ".devops/cuda.Dockerfile", "cuda_version": "12.8.1", "platforms": "linux/amd64", "full": true, "light": true, "server": true, "free_disk_space": true, "runs_on": "ubuntu-24.04" },
- { "tag": "cuda cuda12", "dockerfile": ".devops/cuda.Dockerfile", "cuda_version": "12.8.1", "platforms": "linux/arm64", "full": true, "light": true, "server": true, "free_disk_space": true, "runs_on": "ubuntu-24.04-arm" },
- { "tag": "cuda13", "dockerfile": ".devops/cuda.Dockerfile", "cuda_version": "13.5.0", "platforms": "linux/amd64", "full": true, "light": true, "server": true, "free_disk_space": true, "runs_on": "ubuntu-24.04" },
- { "tag": "cuda13", "dockerfile": ".devops/cuda.Dockerfile", "cuda_version": "13.5.0", "platforms": "linux/arm64", "full": true, "light": true, "server": true, "free_disk_space": true, "runs_on": "ubuntu-24.04-arm" },
- { "tag": "musa", "dockerfile": ".devops/musa.Dockerfile", "platforms": "linux/amd64", "full": true, "light": true, "server": true, "free_disk_space": true, "runs_on": "ubuntu-24.04" },
- { "tag": "intel", "dockerfile": ".devops/intel.Dockerfile", "platforms": "linux/amd64", "full": true, "light": true, "server": true, "free_disk_space": true, "runs_on": "ubuntu-24.04" },
- { "tag": "vulkan", "dockerfile": ".devops/vulkan.Dockerfile", "platforms": "linux/amd64", "full": true, "light": true, "server": true, "free_disk_space": false, "runs_on": "ubuntu-24.04" },
- { "tag": "vulkan", "dockerfile": ".devops/vulkan.Dockerfile", "platforms": "linux/arm64", "full": true, "light": true, "server": true, "free_disk_space": false, "runs_on": "ubuntu-24.04-arm" },
- { "tag": "rocm", "dockerfile": ".devops/rocm.Dockerfile", "platforms": "linux/amd64", "full": true, "light": true, "server": true, "free_disk_space": true, "runs_on": "ubuntu-24.04" },
- { "tag": "openvino", "dockerfile": ".devops/openvino.Dockerfile", "platforms": "linux/amd64", "full": true, "light": true, "server": true, "free_disk_space": false, "runs_on": "ubuntu-24.04" }
+ { "tag": "cpu", "dockerfile": ".devops/cpu.Dockerfile", "platforms": "linux/amd64", "full": true, "light": true, "server": true, "free_disk_space": false, "runs_on": "ubuntu-26.04" },
+ { "tag": "cpu", "dockerfile": ".devops/cpu.Dockerfile", "platforms": "linux/arm64", "full": true, "light": true, "server": true, "free_disk_space": false, "runs_on": "ubuntu-26.04-arm" },
+ { "tag": "cpu", "dockerfile": ".devops/s390x.Dockerfile", "platforms": "linux/s390x", "full": true, "light": true, "server": true, "free_disk_space": false, "runs_on": "ubuntu-26.04-s390x", "prebuilt_ui": true },
+ { "tag": "cuda cuda12", "dockerfile": ".devops/cuda.Dockerfile", "cuda_version": "12.8.1", "platforms": "linux/amd64", "full": true, "light": true, "server": true, "free_disk_space": true, "runs_on": "ubuntu-26.04" },
+ { "tag": "cuda cuda12", "dockerfile": ".devops/cuda.Dockerfile", "cuda_version": "12.8.1", "platforms": "linux/arm64", "full": true, "light": true, "server": true, "free_disk_space": true, "runs_on": "ubuntu-26.04-arm" },
+ { "tag": "cuda13", "dockerfile": ".devops/cuda.Dockerfile", "cuda_version": "13.5.0", "platforms": "linux/amd64", "full": true, "light": true, "server": true, "free_disk_space": true, "runs_on": "ubuntu-26.04" },
+ { "tag": "cuda13", "dockerfile": ".devops/cuda.Dockerfile", "cuda_version": "13.5.0", "platforms": "linux/arm64", "full": true, "light": true, "server": true, "free_disk_space": true, "runs_on": "ubuntu-26.04-arm" },
+ { "tag": "musa", "dockerfile": ".devops/musa.Dockerfile", "platforms": "linux/amd64", "full": true, "light": true, "server": true, "free_disk_space": true, "runs_on": "ubuntu-26.04" },
+ { "tag": "intel", "dockerfile": ".devops/intel.Dockerfile", "platforms": "linux/amd64", "full": true, "light": true, "server": true, "free_disk_space": true, "runs_on": "ubuntu-26.04" },
+ { "tag": "vulkan", "dockerfile": ".devops/vulkan.Dockerfile", "platforms": "linux/amd64", "full": true, "light": true, "server": true, "free_disk_space": false, "runs_on": "ubuntu-26.04" },
+ { "tag": "vulkan", "dockerfile": ".devops/vulkan.Dockerfile", "platforms": "linux/arm64", "full": true, "light": true, "server": true, "free_disk_space": false, "runs_on": "ubuntu-26.04-arm" },
+ { "tag": "rocm", "dockerfile": ".devops/rocm.Dockerfile", "platforms": "linux/amd64", "full": true, "light": true, "server": true, "free_disk_space": true, "runs_on": "ubuntu-26.04" },
+ { "tag": "openvino", "dockerfile": ".devops/openvino.Dockerfile", "platforms": "linux/amd64", "full": true, "light": true, "server": true, "free_disk_space": false, "runs_on": "ubuntu-26.04" }
]
JSON
@@ -400,7 +400,7 @@ jobs:
merge_arch_tags:
name: Create shared tags from digests
needs: [prepare_matrices, push_to_registry, create_tag]
- runs-on: ubuntu-24.04
+ runs-on: ubuntu-26.04
permissions:
contents: read
packages: write
diff --git a/.github/workflows/gguf-publish.yml b/.github/workflows/gguf-publish.yml
index 367b29c60..94a491466 100644
--- a/.github/workflows/gguf-publish.yml
+++ b/.github/workflows/gguf-publish.yml
@@ -24,7 +24,7 @@ permissions:
jobs:
deploy:
- runs-on: ubuntu-24.04 # previously ubuntu-latest
+ runs-on: ubuntu-26.04
steps:
- uses: actions/checkout@v6
diff --git a/.github/workflows/make-release.yml b/.github/workflows/make-release.yml
index 2e5e44caa..1f5d43755 100644
--- a/.github/workflows/make-release.yml
+++ b/.github/workflows/make-release.yml
@@ -39,7 +39,7 @@ permissions:
jobs:
make-release:
- runs-on: ubuntu-24.04 # previously ubuntu-latest
+ runs-on: ubuntu-26.04
steps:
- name: Checkout
diff --git a/.github/workflows/python-check-requirements.yml b/.github/workflows/python-check-requirements.yml
index 9738ff778..464cc94e1 100644
--- a/.github/workflows/python-check-requirements.yml
+++ b/.github/workflows/python-check-requirements.yml
@@ -24,7 +24,7 @@ concurrency:
jobs:
python-check-requirements:
- runs-on: ${{ 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
+ runs-on: ${{ 'ubuntu-26.04-arm' || 'ubuntu-26.04' }}
name: check-requirements
steps:
- name: Check out source repository
diff --git a/.github/workflows/release-publish.yml b/.github/workflows/release-publish.yml
index ef1a5457b..3efa82e44 100644
--- a/.github/workflows/release-publish.yml
+++ b/.github/workflows/release-publish.yml
@@ -171,7 +171,7 @@ jobs:
**Linux:**
- [Ubuntu x64 (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-x64.tar.gz)
- [Ubuntu arm64 (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-arm64.tar.gz)
- - [Ubuntu s390x (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-s390x.tar.gz)
+ - [Ubuntu 24.04 s390x (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-s390x.tar.gz)
- [Ubuntu 26.04 s390x (CPU)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-26.04-s390x.tar.gz)
- [Ubuntu 26.04 s390x (zDNN)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-zdnn-s390x.tar.gz)
- [Ubuntu x64 (Vulkan)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-x64.tar.gz)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 9ab5009f1..98a64def7 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -463,7 +463,7 @@ jobs:
needs: [check-release, ui-build]
if: ${{ needs.check-release.outputs.should_release == 'true' }}
- runs-on: ubuntu-24.04 # previously ubuntu-latest
+ runs-on: ubuntu-24.04
env:
NDK_VERSION: "29.0.14206865"
@@ -548,7 +548,7 @@ jobs:
needs: [check-release, ui-build]
if: ${{ needs.check-release.outputs.should_release == 'true' }}
- runs-on: ubuntu-latest
+ runs-on: ubuntu-24.04
container: 'ghcr.io/snapdragon-toolchain/arm64-android:v0.8'
defaults:
@@ -601,7 +601,7 @@ jobs:
needs: [check-release, ui-build]
if: ${{ needs.check-release.outputs.should_release == 'true' }}
- runs-on: ubuntu-latest
+ runs-on: ubuntu-24.04
container: 'ghcr.io/snapdragon-toolchain/arm64-linux:v0.8'
defaults:
diff --git a/.github/workflows/server.yml b/.github/workflows/server.yml
index 05dd0ac45..f3c577ec6 100644
--- a/.github/workflows/server.yml
+++ b/.github/workflows/server.yml
@@ -59,7 +59,7 @@ concurrency:
jobs:
ubuntu:
- runs-on: ubuntu-24.04-arm
+ runs-on: ubuntu-26.04-arm
steps:
- name: Dependencies
@@ -94,7 +94,7 @@ jobs:
env:
HF_TOKEN: ${{ secrets.HF_TOKEN_CI }}
with:
- key: server-ubuntu-24.04-arm
+ key: server-ubuntu-26.04-arm
folder: llama.cpp
hf_bucket: ggml-org/cache
@@ -111,7 +111,7 @@ jobs:
env:
HF_TOKEN: ${{ secrets.HF_TOKEN_CACHE_OUTPUT }}
with:
- key: server-ubuntu-24.04-arm
+ key: server-ubuntu-26.04-arm
folder: llama.cpp
evict-old-files: 1d
hf_bucket: ggml-org/cache
diff --git a/.github/workflows/winget.yml b/.github/workflows/winget.yml
index 8b5bd355c..1f0f24905 100644
--- a/.github/workflows/winget.yml
+++ b/.github/workflows/winget.yml
@@ -12,7 +12,7 @@ permissions:
jobs:
update:
name: Update Winget Package
- runs-on: ubuntu-24.04 # previously ubuntu-latest
+ runs-on: ubuntu-26.04
if: github.repository_owner == 'ggml-org'
steps: