From: Eve Date: Mon, 1 Jun 2026 03:32:17 +0000 (+0000) Subject: ci: remove redundant or duplicate jobs (#23927) X-Git-Tag: upstream/0.0.10438~993 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=af6528e6df5d798f7f1363ec1141699be0f638e2;p=pkg%2Fggml%2Fsources%2Fllama.cpp 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 --- diff --git a/.github/workflows/build-apple.yml b/.github/workflows/build-apple.yml index 54a3ed859..2b3d14d1f 100644 --- a/.github/workflows/build-apple.yml +++ b/.github/workflows/build-apple.yml @@ -109,40 +109,6 @@ jobs: cd build 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: runs-on: macos-latest diff --git a/.github/workflows/build-openvino.yml b/.github/workflows/build-openvino.yml index 35a955f75..ddcbc6697 100644 --- a/.github/workflows/build-openvino.yml +++ b/.github/workflows/build-openvino.yml @@ -35,24 +35,12 @@ env: jobs: ubuntu-24-openvino: - name: ubuntu-24-openvino-${{ matrix.openvino_device }} + runs-on: [self-hosted, Linux, Intel, OpenVINO] concurrency: - group: openvino-${{ matrix.variant }}-${{ github.head_ref || github.ref }} + group: openvino-gpu-${{ github.head_ref || github.ref }} 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: # Sync versions in build-openvino.yml, build-self-hosted.yml, release.yml, build-cache.yml, .devops/openvino.Dockerfile OPENVINO_VERSION_MAJOR: "2026.0" @@ -63,14 +51,6 @@ jobs: id: checkout 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 id: depends 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 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 - if: steps.cache-openvino.outputs.cache-hit != 'true' uses: ./.github/actions/linux-setup-openvino with: path: ./openvino_toolkit @@ -109,12 +80,17 @@ jobs: -DGGML_OPENVINO=ON time cmake --build build/ReleaseOV --config Release -j $(nproc) - - name: Test - id: cmake_test + - name: Test (CPU) + id: cmake_test_cpu + # TODO: fix and re-enable the `test-llama-archs` test below + run: | + cd ${{ github.workspace }} + ctest --test-dir build/ReleaseOV -L main -E "test-llama-archs" --verbose --timeout 2000 + + - name: Test (GPU) + id: cmake_test_gpu # TODO: fix and re-enable the `test-llama-archs` test below run: | cd ${{ github.workspace }} - if [ "${{ matrix.openvino_device }}" = "GPU" ]; then - export GGML_OPENVINO_DEVICE=GPU - fi + export GGML_OPENVINO_DEVICE=GPU ctest --test-dir build/ReleaseOV -L main -E "test-llama-archs" --verbose --timeout 2000 diff --git a/.github/workflows/build-rpc.yml b/.github/workflows/build-rpc.yml index c060b649b..d04dc375b 100644 --- a/.github/workflows/build-rpc.yml +++ b/.github/workflows/build-rpc.yml @@ -34,8 +34,8 @@ env: LLAMA_ARG_LOG_TIMESTAMPS: 1 jobs: - ubuntu-latest-rpc: - runs-on: ubuntu-latest + ubuntu-24-rpc: + runs-on: ${{ 'ubuntu-24.04-arm' || 'ubuntu-24.04' }} continue-on-error: true diff --git a/.github/workflows/build-self-hosted.yml b/.github/workflows/build-self-hosted.yml index 381cd3ce1..93d05ee7a 100644 --- a/.github/workflows/build-self-hosted.yml +++ b/.github/workflows/build-self-hosted.yml @@ -210,7 +210,7 @@ jobs: GG_BUILD_WEBGPU=1 GG_BUILD_WEBGPU_DAWN_PREFIX="$GITHUB_WORKSPACE/dawn" \ bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp - gpu-vulkan: + gpu-vulkan-apple: runs-on: [self-hosted, macOS, ARM64] steps: @@ -261,7 +261,7 @@ jobs: # 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 - cpu-openvino-low-perf: + gpu-openvino-low-perf: runs-on: [self-hosted, Linux, Intel, OpenVINO] concurrency: @@ -297,8 +297,8 @@ jobs: 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 - cpu-any-low-perf: - runs-on: [self-hosted, CPU] + cpu-x64-high-perf: + runs-on: [self-hosted, X64] steps: - name: Clone @@ -308,22 +308,9 @@ jobs: - name: Test id: ggml-ci 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: - 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: + cpu-arm64-high-perf-graviton4: runs-on: ah-ubuntu_22_04-c8g_8x steps: @@ -360,7 +347,7 @@ jobs: - name: Test id: ggml-ci 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: runs-on: ah-ubuntu_22_04-c8g_8x diff --git a/.github/workflows/build-vulkan.yml b/.github/workflows/build-vulkan.yml index d473b14c1..a103c50fa 100644 --- a/.github/workflows/build-vulkan.yml +++ b/.github/workflows/build-vulkan.yml @@ -36,16 +36,8 @@ env: LLAMA_ARG_LOG_TIMESTAMPS: 1 jobs: - ubuntu: - strategy: - matrix: - include: - - build: 'x64' - os: ubuntu-24.04 - - build: 'arm64' - os: ubuntu-24.04-arm - - runs-on: ${{ matrix.os }} + ubuntu-arm64: + runs-on: ubuntu-24.04-arm steps: - name: Clone @@ -63,7 +55,7 @@ jobs: - name: ccache uses: ggml-org/ccache-action@v1.2.21 with: - key: vulkan-${{ matrix.os }}-new + key: vulkan-ubuntu-24.04-arm-new variant: ccache evict-old-files: 1d save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} diff --git a/.github/workflows/build-webgpu.yml b/.github/workflows/build-webgpu.yml index 1974511a9..bade95c6a 100644 --- a/.github/workflows/build-webgpu.yml +++ b/.github/workflows/build-webgpu.yml @@ -130,15 +130,7 @@ jobs: ctest -L main -E test-backend-ops --verbose --timeout 900 ubuntu-wasm: - strategy: - matrix: - include: - - build: 'x64' - os: ubuntu-24.04 - - build: 'arm64' - os: ubuntu-24.04-arm - - runs-on: ${{ matrix.os }} + runs-on: ubuntu-24.04-arm steps: - name: Clone @@ -148,7 +140,7 @@ jobs: - name: ccache uses: ggml-org/ccache-action@v1.2.21 with: - key: webgpu-${{ matrix.os }}-wasm + key: webgpu-ubuntu-24.04-arm-wasm evict-old-files: 1d save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} diff --git a/.github/workflows/server.yml b/.github/workflows/server.yml index ffdc7c17d..f42b30d5c 100644 --- a/.github/workflows/server.yml +++ b/.github/workflows/server.yml @@ -55,21 +55,7 @@ concurrency: jobs: ubuntu: - runs-on: ubuntu-24.04 - - 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 + runs-on: ubuntu-24.04-arm steps: - name: Dependencies @@ -96,7 +82,7 @@ jobs: - name: ccache uses: ggml-org/ccache-action@v1.2.21 with: - key: server-ubuntu-24.04-x64 + key: server-ubuntu-24.04-arm evict-old-files: 1d save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} @@ -105,7 +91,7 @@ jobs: run: | cmake -B build \ -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 id: setup_python @@ -116,18 +102,32 @@ jobs: - name: Tests id: server_integration_tests - if: ${{ (!matrix.disabled_on_pr || !github.event.pull_request) }} + if: ${{ !github.event.pull_request }} run: | cd tools/server/tests - export ${{ matrix.extra_args }} pytest -v -x -m "not slow" - name: Slow tests 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: | 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 windows: @@ -169,7 +169,7 @@ jobs: - name: Tests id: server_integration_tests - if: ${{ !matrix.disabled_on_pr || !github.event.pull_request }} + if: ${{ !github.event.pull_request }} run: | cd tools/server/tests $env:PYTHONIOENCODING = ":replace" @@ -177,7 +177,7 @@ jobs: - name: Slow tests 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: | cd tools/server/tests $env:SLOW_TESTS = "1"