Spaces:
Running on Zero
Running on Zero
| name: CI (openvino) | |
| on: | |
| workflow_dispatch: # allows manual triggering | |
| push: | |
| branches: | |
| - master | |
| paths: [ | |
| '.github/workflows/build-openvino.yml', | |
| '**/CMakeLists.txt', | |
| '**/.cmake', | |
| '**/*.h', | |
| '**/*.hpp', | |
| '**/*.c', | |
| '**/*.cpp', | |
| ] | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| paths: [ | |
| '.github/workflows/build-openvino.yml', | |
| 'ggml/src/ggml-openvino/**' | |
| ] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }} | |
| cancel-in-progress: true | |
| env: | |
| GGML_NLOOP: 3 | |
| GGML_N_THREADS: 1 | |
| LLAMA_ARG_LOG_COLORS: 1 | |
| LLAMA_ARG_LOG_PREFIX: 1 | |
| LLAMA_ARG_LOG_TIMESTAMPS: 1 | |
| jobs: | |
| ubuntu-24-openvino: | |
| runs-on: [self-hosted, Linux, Intel, OpenVINO] | |
| env: | |
| # Sync versions in build-openvino.yml, build-self-hosted.yml, release.yml, build-cache.yml, .devops/openvino.Dockerfile | |
| OPENVINO_VERSION_MAJOR: "2026.2.1" | |
| OPENVINO_VERSION_FULL: "2026.2.1.21919.ede283a88e3" | |
| steps: | |
| - name: Clone | |
| id: checkout | |
| uses: actions/checkout@v6 | |
| - name: Dependencies | |
| id: depends | |
| run: | | |
| sudo apt-get update | |
| 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: Setup OpenVINO Toolkit | |
| uses: ./.github/actions/linux-setup-openvino | |
| with: | |
| path: ./openvino_toolkit | |
| version_major: ${{ env.OPENVINO_VERSION_MAJOR }} | |
| version_full: ${{ env.OPENVINO_VERSION_FULL }} | |
| - name: Install OpenVINO dependencies | |
| run: | | |
| cd ./openvino_toolkit | |
| chmod +x ./install_dependencies/install_openvino_dependencies.sh | |
| echo "Y" | sudo -E ./install_dependencies/install_openvino_dependencies.sh | |
| - name: Build | |
| id: cmake_build | |
| run: | | |
| source ./openvino_toolkit/setupvars.sh | |
| cmake -B build/ReleaseOV -G Ninja \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DGGML_OPENVINO=ON | |
| time cmake --build build/ReleaseOV --config Release --parallel | |
| - 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 }} | |
| export GGML_OPENVINO_DEVICE=GPU | |
| ctest --test-dir build/ReleaseOV -L main -E "test-llama-archs" --verbose --timeout 3000 | |
| openvino-windows-2022: | |
| runs-on: windows-2022 | |
| env: | |
| # Sync versions in build-openvino.yml, build-self-hosted.yml, release.yml, build-cache.yml, .devops/openvino.Dockerfile | |
| OPENVINO_VERSION_MAJOR: "2026.2.1" | |
| OPENVINO_VERSION_FULL: "2026.2.1.21919.ede283a88e3" | |
| steps: | |
| - name: Clone | |
| id: checkout | |
| uses: actions/checkout@v6 | |
| - name: ccache | |
| uses: ggml-org/ccache-action@v1.2.21 | |
| with: | |
| key: openvino-windows-2022 | |
| variant: ccache | |
| evict-old-files: 1d | |
| save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} | |
| - name: Setup Cache | |
| 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/windows-setup-openvino | |
| with: | |
| path: ./openvino_toolkit | |
| version_major: ${{ env.OPENVINO_VERSION_MAJOR }} | |
| version_full: ${{ env.OPENVINO_VERSION_FULL }} | |
| - name: Install OpenCL using vcpkg | |
| shell: powershell | |
| run: | | |
| git clone https://github.com/microsoft/vcpkg C:\vcpkg | |
| C:\vcpkg\bootstrap-vcpkg.bat | |
| C:\vcpkg\vcpkg install opencl | |
| - name: Build | |
| id: cmake_build | |
| shell: cmd | |
| run: | | |
| REM Find extracted OpenVINO folder dynamically | |
| for /d %%i in (openvino_toolkit\*) do set OPENVINO_ROOT=%%i | |
| if not exist "%OPENVINO_ROOT%\runtime\cmake\OpenVINOConfig.cmake" ( | |
| echo ERROR: OpenVINOConfig.cmake not found | |
| exit /b 1 | |
| ) | |
| call "%OPENVINO_ROOT%\setupvars.bat" | |
| cmake -B build\ReleaseOV -G "Visual Studio 17 2022" ^ | |
| -A x64 ^ | |
| -DCMAKE_BUILD_TYPE=Release ^ | |
| -DGGML_OPENVINO=ON ^ | |
| -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake | |
| cmake --build build\ReleaseOV --config Release -- /m | |
| - name: Test (CPU) | |
| id: cmake_test_cpu | |
| shell: cmd | |
| # TODO: fix and re-enable the `test-llama-archs` test below | |
| run: | | |
| REM Find extracted OpenVINO folder dynamically | |
| for /d %%i in (openvino_toolkit\*) do set OPENVINO_ROOT=%%i | |
| call "%OPENVINO_ROOT%\setupvars.bat" | |
| cd build | |
| ctest --test-dir ReleaseOV -L main -E "test-llama-archs" -C Release --verbose --timeout 3000 | |