ci: remove redundant or duplicate jobs (#23927)

* remove redundant apple job

openvino gpu and cpu test can share the same build and machine

Update build-rpc.yml

Update build-openvino.yml

cpu any doesnt make sense as we have an arm job already, so do high perf on both x86 and arm

remove duplicate x86 vulkan

combine backend sampling

Update server.yml

run server on arm as windows is x86

* emdawn on one machine only

* fix openvino, remove cpu tag as we dont have many x64 machines with that tag
This commit is contained in:
Eve
2026-06-01 06:32:17 +03:00
committed by GitHub
parent 6f165c1c64
commit af6528e6df
7 changed files with 49 additions and 136 deletions
-34
View File
@@ -109,40 +109,6 @@ jobs:
cd build cd build
ctest -L main --verbose --timeout 900 ctest -L main --verbose --timeout 900
macos-latest-ios:
runs-on: macos-latest
steps:
- name: Clone
id: checkout
uses: actions/checkout@v6
# TODO: this likely does not do anything - if yes, remove it
- name: ccache
uses: ggml-org/ccache-action@v1.2.21
with:
key: apple-ios
evict-old-files: 1d
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
- name: Build
id: cmake_build
run: |
sysctl -a
cmake -B build -G Xcode \
-DGGML_METAL_USE_BF16=ON \
-DGGML_METAL_EMBED_LIBRARY=ON \
-DLLAMA_BUILD_APP=OFF \
-DLLAMA_BUILD_COMMON=OFF \
-DLLAMA_BUILD_EXAMPLES=OFF \
-DLLAMA_BUILD_TOOLS=OFF \
-DLLAMA_BUILD_TESTS=OFF \
-DLLAMA_BUILD_SERVER=OFF \
-DCMAKE_SYSTEM_NAME=iOS \
-DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \
-DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml
cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
macos-latest-ios-xcode: macos-latest-ios-xcode:
runs-on: macos-latest runs-on: macos-latest
+12 -36
View File
@@ -35,24 +35,12 @@ env:
jobs: jobs:
ubuntu-24-openvino: ubuntu-24-openvino:
name: ubuntu-24-openvino-${{ matrix.openvino_device }} runs-on: [self-hosted, Linux, Intel, OpenVINO]
concurrency: concurrency:
group: openvino-${{ matrix.variant }}-${{ github.head_ref || github.ref }} group: openvino-gpu-${{ github.head_ref || github.ref }}
cancel-in-progress: false cancel-in-progress: false
strategy:
matrix:
include:
- variant: cpu
runner: '"ubuntu-24.04"'
openvino_device: "CPU"
- variant: gpu
runner: '["self-hosted","Linux","Intel","OpenVINO"]'
openvino_device: "GPU"
runs-on: ${{ fromJSON(matrix.runner) }}
env: env:
# Sync versions in build-openvino.yml, build-self-hosted.yml, release.yml, build-cache.yml, .devops/openvino.Dockerfile # Sync versions in build-openvino.yml, build-self-hosted.yml, release.yml, build-cache.yml, .devops/openvino.Dockerfile
OPENVINO_VERSION_MAJOR: "2026.0" OPENVINO_VERSION_MAJOR: "2026.0"
@@ -63,14 +51,6 @@ jobs:
id: checkout id: checkout
uses: actions/checkout@v6 uses: actions/checkout@v6
- name: ccache
if: runner.environment == 'github-hosted'
uses: ggml-org/ccache-action@v1.2.21
with:
key: openvino-ubuntu-24.04-${{ matrix.variant }}-no-preset-v1
evict-old-files: 1d
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
- name: Dependencies - name: Dependencies
id: depends id: depends
run: | run: |
@@ -78,16 +58,7 @@ jobs:
sudo apt-get install -y build-essential libssl-dev libtbb12 cmake ninja-build python3-pip sudo apt-get install -y build-essential libssl-dev libtbb12 cmake ninja-build python3-pip
sudo apt-get install -y ocl-icd-opencl-dev opencl-headers opencl-clhpp-headers intel-opencl-icd sudo apt-get install -y ocl-icd-opencl-dev opencl-headers opencl-clhpp-headers intel-opencl-icd
- name: Use OpenVINO Toolkit Cache
if: runner.environment == 'github-hosted'
uses: actions/cache@v5
id: cache-openvino
with:
path: ./openvino_toolkit
key: cache-gha-openvino-toolkit-v${{ env.OPENVINO_VERSION_FULL }}-${{ runner.os }}
- name: Setup OpenVINO Toolkit - name: Setup OpenVINO Toolkit
if: steps.cache-openvino.outputs.cache-hit != 'true'
uses: ./.github/actions/linux-setup-openvino uses: ./.github/actions/linux-setup-openvino
with: with:
path: ./openvino_toolkit path: ./openvino_toolkit
@@ -109,12 +80,17 @@ jobs:
-DGGML_OPENVINO=ON -DGGML_OPENVINO=ON
time cmake --build build/ReleaseOV --config Release -j $(nproc) time cmake --build build/ReleaseOV --config Release -j $(nproc)
- name: Test - name: Test (CPU)
id: cmake_test id: cmake_test_cpu
# TODO: fix and re-enable the `test-llama-archs` test below # TODO: fix and re-enable the `test-llama-archs` test below
run: | run: |
cd ${{ github.workspace }} cd ${{ github.workspace }}
if [ "${{ matrix.openvino_device }}" = "GPU" ]; then ctest --test-dir build/ReleaseOV -L main -E "test-llama-archs" --verbose --timeout 2000
export GGML_OPENVINO_DEVICE=GPU
fi - name: Test (GPU)
id: cmake_test_gpu
# TODO: fix and re-enable the `test-llama-archs` test below
run: |
cd ${{ github.workspace }}
export GGML_OPENVINO_DEVICE=GPU
ctest --test-dir build/ReleaseOV -L main -E "test-llama-archs" --verbose --timeout 2000 ctest --test-dir build/ReleaseOV -L main -E "test-llama-archs" --verbose --timeout 2000
+2 -2
View File
@@ -34,8 +34,8 @@ env:
LLAMA_ARG_LOG_TIMESTAMPS: 1 LLAMA_ARG_LOG_TIMESTAMPS: 1
jobs: jobs:
ubuntu-latest-rpc: ubuntu-24-rpc:
runs-on: ubuntu-latest runs-on: ${{ 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
continue-on-error: true continue-on-error: true
+7 -20
View File
@@ -210,7 +210,7 @@ jobs:
GG_BUILD_WEBGPU=1 GG_BUILD_WEBGPU_DAWN_PREFIX="$GITHUB_WORKSPACE/dawn" \ GG_BUILD_WEBGPU=1 GG_BUILD_WEBGPU_DAWN_PREFIX="$GITHUB_WORKSPACE/dawn" \
bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
gpu-vulkan: gpu-vulkan-apple:
runs-on: [self-hosted, macOS, ARM64] runs-on: [self-hosted, macOS, ARM64]
steps: steps:
@@ -261,7 +261,7 @@ jobs:
# a valid python environment for testing # a valid python environment for testing
LLAMA_FATAL_WARNINGS=OFF GG_BUILD_NINJA=1 GG_BUILD_VULKAN=1 GG_BUILD_LOW_PERF=1 ./ci/run.sh ./results/llama.cpp ./mnt/llama.cpp LLAMA_FATAL_WARNINGS=OFF GG_BUILD_NINJA=1 GG_BUILD_VULKAN=1 GG_BUILD_LOW_PERF=1 ./ci/run.sh ./results/llama.cpp ./mnt/llama.cpp
cpu-openvino-low-perf: gpu-openvino-low-perf:
runs-on: [self-hosted, Linux, Intel, OpenVINO] runs-on: [self-hosted, Linux, Intel, OpenVINO]
concurrency: concurrency:
@@ -297,8 +297,8 @@ jobs:
source ./openvino_toolkit/setupvars.sh source ./openvino_toolkit/setupvars.sh
GG_BUILD_OPENVINO=1 GGML_OPENVINO_DEVICE=GPU GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp GG_BUILD_OPENVINO=1 GGML_OPENVINO_DEVICE=GPU GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
cpu-any-low-perf: cpu-x64-high-perf:
runs-on: [self-hosted, CPU] runs-on: [self-hosted, X64]
steps: steps:
- name: Clone - name: Clone
@@ -308,22 +308,9 @@ jobs:
- name: Test - name: Test
id: ggml-ci id: ggml-ci
run: | run: |
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp LLAMA_ARG_THREADS=$(nproc) GG_BUILD_HIGH_PERF=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
cpu-any-high-perf: cpu-arm64-high-perf-graviton4:
runs-on: [self-hosted, CPU]
steps:
- name: Clone
id: checkout
uses: actions/checkout@v6
- name: Test
id: ggml-ci
run: |
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_HIGH_PERF=1 GG_BUILD_NO_SVE=1 GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
cpu-arm64-graviton4:
runs-on: ah-ubuntu_22_04-c8g_8x runs-on: ah-ubuntu_22_04-c8g_8x
steps: steps:
@@ -360,7 +347,7 @@ jobs:
- name: Test - name: Test
id: ggml-ci id: ggml-ci
run: | run: |
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp LLAMA_ARG_THREADS=$(nproc) GG_BUILD_HIGH_PERF=1 GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
cpu-arm64-graviton4-kleidiai: cpu-arm64-graviton4-kleidiai:
runs-on: ah-ubuntu_22_04-c8g_8x runs-on: ah-ubuntu_22_04-c8g_8x
+3 -11
View File
@@ -36,16 +36,8 @@ env:
LLAMA_ARG_LOG_TIMESTAMPS: 1 LLAMA_ARG_LOG_TIMESTAMPS: 1
jobs: jobs:
ubuntu: ubuntu-arm64:
strategy: runs-on: ubuntu-24.04-arm
matrix:
include:
- build: 'x64'
os: ubuntu-24.04
- build: 'arm64'
os: ubuntu-24.04-arm
runs-on: ${{ matrix.os }}
steps: steps:
- name: Clone - name: Clone
@@ -63,7 +55,7 @@ jobs:
- name: ccache - name: ccache
uses: ggml-org/ccache-action@v1.2.21 uses: ggml-org/ccache-action@v1.2.21
with: with:
key: vulkan-${{ matrix.os }}-new key: vulkan-ubuntu-24.04-arm-new
variant: ccache variant: ccache
evict-old-files: 1d evict-old-files: 1d
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
+2 -10
View File
@@ -130,15 +130,7 @@ jobs:
ctest -L main -E test-backend-ops --verbose --timeout 900 ctest -L main -E test-backend-ops --verbose --timeout 900
ubuntu-wasm: ubuntu-wasm:
strategy: runs-on: ubuntu-24.04-arm
matrix:
include:
- build: 'x64'
os: ubuntu-24.04
- build: 'arm64'
os: ubuntu-24.04-arm
runs-on: ${{ matrix.os }}
steps: steps:
- name: Clone - name: Clone
@@ -148,7 +140,7 @@ jobs:
- name: ccache - name: ccache
uses: ggml-org/ccache-action@v1.2.21 uses: ggml-org/ccache-action@v1.2.21
with: with:
key: webgpu-${{ matrix.os }}-wasm key: webgpu-ubuntu-24.04-arm-wasm
evict-old-files: 1d evict-old-files: 1d
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
+23 -23
View File
@@ -55,21 +55,7 @@ concurrency:
jobs: jobs:
ubuntu: ubuntu:
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04-arm
name: ubuntu (${{ matrix.wf_name }})
strategy:
matrix:
build_type: [Release]
wf_name: ["default"]
include:
- build_type: Release
extra_args: ""
wf_name: "default"
- build_type: Release
extra_args: "LLAMA_ARG_BACKEND_SAMPLING=1"
wf_name: "backend-sampling"
fail-fast: false
steps: steps:
- name: Dependencies - name: Dependencies
@@ -96,7 +82,7 @@ jobs:
- name: ccache - name: ccache
uses: ggml-org/ccache-action@v1.2.21 uses: ggml-org/ccache-action@v1.2.21
with: with:
key: server-ubuntu-24.04-x64 key: server-ubuntu-24.04-arm
evict-old-files: 1d evict-old-files: 1d
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
@@ -105,7 +91,7 @@ jobs:
run: | run: |
cmake -B build \ cmake -B build \
-DGGML_SCHED_NO_REALLOC=ON -DGGML_SCHED_NO_REALLOC=ON
cmake --build build --config ${{ matrix.build_type }} -j $(nproc) --target llama-server cmake --build build --config Release -j $(nproc) --target llama-server
- name: Python setup - name: Python setup
id: setup_python id: setup_python
@@ -116,18 +102,32 @@ jobs:
- name: Tests - name: Tests
id: server_integration_tests id: server_integration_tests
if: ${{ (!matrix.disabled_on_pr || !github.event.pull_request) }} if: ${{ !github.event.pull_request }}
run: | run: |
cd tools/server/tests cd tools/server/tests
export ${{ matrix.extra_args }}
pytest -v -x -m "not slow" pytest -v -x -m "not slow"
- name: Slow tests - name: Slow tests
id: server_integration_tests_slow id: server_integration_tests_slow
if: ${{ (github.event.schedule || github.event.inputs.slow_tests == 'true') && matrix.build_type == 'Release' }} if: ${{ github.event.schedule || github.event.inputs.slow_tests == 'true' }}
run: | run: |
cd tools/server/tests cd tools/server/tests
export ${{ matrix.extra_args }} SLOW_TESTS=1 pytest -v -x
- name: Tests (Backend sampling)
id: server_integration_tests_backend_sampling
if: ${{ !github.event.pull_request }}
run: |
cd tools/server/tests
export LLAMA_ARG_BACKEND_SAMPLING=1
pytest -v -x -m "not slow"
- name: Slow tests (Backend sampling)
id: server_integration_tests_slow_backend_sampling
if: ${{ github.event.schedule || github.event.inputs.slow_tests == 'true' }}
run: |
cd tools/server/tests
export LLAMA_ARG_BACKEND_SAMPLING=1
SLOW_TESTS=1 pytest -v -x SLOW_TESTS=1 pytest -v -x
windows: windows:
@@ -169,7 +169,7 @@ jobs:
- name: Tests - name: Tests
id: server_integration_tests id: server_integration_tests
if: ${{ !matrix.disabled_on_pr || !github.event.pull_request }} if: ${{ !github.event.pull_request }}
run: | run: |
cd tools/server/tests cd tools/server/tests
$env:PYTHONIOENCODING = ":replace" $env:PYTHONIOENCODING = ":replace"
@@ -177,7 +177,7 @@ jobs:
- name: Slow tests - name: Slow tests
id: server_integration_tests_slow id: server_integration_tests_slow
if: ${{ (github.event.schedule || github.event.inputs.slow_tests == 'true') && matrix.build_type == 'Release' }} if: ${{ github.event.schedule || github.event.inputs.slow_tests == 'true' }}
run: | run: |
cd tools/server/tests cd tools/server/tests
$env:SLOW_TESTS = "1" $env:SLOW_TESTS = "1"