Skip to content

ci: Complete CI setup #11

ci: Complete CI setup

ci: Complete CI setup #11

Workflow file for this run

name: CI
on:
push:
branches: [master]
pull_request:
branches: [master]
env:
LLAMA_CPP_VERSION: b7356
LLAMA_MODEL_REPO: ggml-org/bge-m3-Q8_0-GGUF
LLAMA_MODEL_FILE: bge-m3-q8_0.gguf
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 23
- run: npm install
- run: npm run build
- run: npm run check
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 23
- name: Cache llama.cpp binary
id: cache-llama
uses: actions/cache@v4
with:
path: ~/.local/bin/llama-server
key: llama-cpp-${{ env.LLAMA_CPP_VERSION }}-ubuntu-x64
- name: Download llama.cpp prebuilt binary
if: steps.cache-llama.outputs.cache-hit != 'true'
run: |
mkdir -p ~/.local/bin
curl -L "https://github.com/ggml-org/llama.cpp/releases/download/${{ env.LLAMA_CPP_VERSION }}/llama-${{ env.LLAMA_CPP_VERSION }}-bin-ubuntu-x64.tar.gz" | tar -xz -C /tmp
cp /tmp/build/bin/llama-server ~/.local/bin/
chmod +x ~/.local/bin/llama-server
- name: Add llama-server to PATH
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Cache embedding model
id: cache-model
uses: actions/cache@v4
with:
path: ~/.cache/llama.cpp
key: llama-model-${{ env.LLAMA_MODEL_REPO }}-${{ env.LLAMA_MODEL_FILE }}
- name: Download embedding model
if: steps.cache-model.outputs.cache-hit != 'true'
run: |
mkdir -p ~/.cache/llama.cpp
MODEL_NAME="${{ env.LLAMA_MODEL_REPO }}/${{ env.LLAMA_MODEL_FILE }}"
MODEL_NAME="${MODEL_NAME//\//_}"
curl -L "https://huggingface.co/${{ env.LLAMA_MODEL_REPO }}/resolve/main/${{ env.LLAMA_MODEL_FILE }}" \
-o ~/.cache/llama.cpp/"$MODEL_NAME"
- run: npm install
- run: npm run test