Support backend OpenVINO #48
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Fast build + unit gate on GitHub-hosted runners. The heavier cross-platform | |
| # LIBERO regression sweep lives in vla-ci.yml (self-hosted). | |
| name: build | |
| on: | |
| push: | |
| branches: [main, dev] | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: build-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| cpp-unit: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| # Compiled directly: pure, no llama.cpp or protobuf/zmq needed. | |
| - name: pure unit tests | |
| run: | | |
| for t in test_vision_common test_rope_conventions; do | |
| g++ -std=c++17 -Isrc -Wall -Wextra -fsanitize=address,undefined \ | |
| -fno-omit-frame-pointer "tests/$t.cpp" -o "/tmp/$t" | |
| "/tmp/$t" | |
| done | |
| py-tooling: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-python@v7 | |
| with: | |
| python-version: '3.11' | |
| - name: converter remap | |
| run: python tests/py/test_converters.py | |
| - name: binding struct parity | |
| run: python tests/py/test_bindings.py | |
| build-gate: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: deps | |
| run: | | |
| sudo apt-get update -qq | |
| sudo apt-get install -y -qq --no-install-recommends \ | |
| build-essential cmake git ca-certificates pkg-config \ | |
| libzmq3-dev cppzmq-dev libprotobuf-dev protobuf-compiler | |
| # Read the pin rather than repeat it: two copies drift and the stale one | |
| # silently reuses the wrong _deps. | |
| - name: read llama.cpp pin | |
| id: pin | |
| run: echo "tag=$(bash scripts/llama_tag.sh)" >> "$GITHUB_OUTPUT" | |
| - uses: actions/cache@v6 | |
| with: | |
| path: build/_deps | |
| key: llama-${{ steps.pin.outputs.tag }}-${{ runner.os }} | |
| # Everything, not a target list: ctest registers tests this job must build, | |
| # and a named list goes stale the next time one is added. | |
| - name: build + ctest (CPU, -Wall -Wextra) | |
| run: | | |
| cmake -B build -DCMAKE_BUILD_TYPE=Release -DGGML_CUDA=OFF -DVLA_BUILD_TESTS=ON | |
| cmake --build build -j"$(nproc)" | |
| ctest --test-dir build --output-on-failure | |
| # This job is the only one that fetches llama.cpp, and neither patch script | |
| # runs on a CPU build, so their anchors would otherwise rot unnoticed until | |
| # someone configures a CUDA or OpenVINO tree. Patch a copy: the real one is | |
| # cached. | |
| - name: patch anchors still apply | |
| run: | | |
| cp -r build/_deps/llama-src /tmp/llama-patchtest | |
| python3 scripts/patch_ggml_cuda_ext_hook.py /tmp/llama-patchtest | |
| python3 scripts/patch_ggml_openvino.py /tmp/llama-patchtest | |
| python3 scripts/patch_ggml_openvino.py /tmp/llama-patchtest # idempotent |