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:
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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' }}
|
||||||
|
|||||||
@@ -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' }}
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user