--- /dev/null
+name: CI (virtgpu)
+
+on:
+ workflow_dispatch: # allows manual triggering
+ push:
+ branches:
+ - master
+ paths: [
+ '.github/workflows/build-virtgpu.yml',
+ '**/CMakeLists.txt',
+ '**/.cmake',
+ '**/*.h',
+ '**/*.hpp',
+ '**/*.c',
+ '**/*.cpp'
+ ]
+
+ pull_request:
+ types: [opened, synchronize, reopened]
+ paths: [
+ '.github/workflows/build-virtgpu.yml',
+ 'ggml/src/ggml-virtgpu/**'
+ ]
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
+ cancel-in-progress: true
+
+jobs:
+ ubuntu-24-virtgpu:
+ runs-on: ${{ 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
+
+ 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 libdrm-dev pkg-config libssl-dev
+
+ - name: Build
+ id: cmake_build
+ run: |
+ cmake -B build \
+ -DGGML_VIRTGPU=ON \
+ -DGGML_VIRTGPU_BACKEND=ON
+ cmake --build build --config Release -j $(nproc)