Skip to content

Commit c3d41f3

Browse files
committed
ci(test_api_server): new job for macos-15
Signed-off-by: Xin Liu <[email protected]>
1 parent d9650ee commit c3d41f3

File tree

1 file changed

+101
-0
lines changed

1 file changed

+101
-0
lines changed

.github/workflows/test_api_server.yml

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,3 +326,104 @@ jobs:
326326
run: |
327327
pkill -f qdrant
328328
329+
test-api-server-macos-15:
330+
runs-on: macos-15
331+
needs: test-api-server-macos-14
332+
strategy:
333+
matrix:
334+
wasmedge_version: [0.14.1]
335+
steps:
336+
- name: Clone project
337+
id: checkout
338+
uses: actions/checkout@v3
339+
340+
- name: Install Rust-nightly
341+
uses: actions-rust-lang/setup-rust-toolchain@v1
342+
with:
343+
toolchain: nightly
344+
target: wasm32-wasip1
345+
components: rustfmt, clippy
346+
347+
- name: Install Rust-stable
348+
uses: actions-rust-lang/setup-rust-toolchain@v1
349+
with:
350+
target: wasm32-wasip1
351+
352+
- name: Download wasi-sdk for arm64-macos
353+
run: |
354+
curl -LO https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-24/wasi-sdk-24.0-arm64-macos.tar.gz
355+
tar -xzvf wasi-sdk-24.0-arm64-macos.tar.gz
356+
mv wasi-sdk-24.0-arm64-macos wasi-sdk-24.0
357+
358+
- name: Install WasmEdge
359+
run: |
360+
curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install_v2.sh | bash -s -- -v ${{ matrix.wasmedge_version }}
361+
ls -al $HOME/.wasmedge/bin
362+
363+
- name: Install Hurl
364+
run: |
365+
brew install hurl
366+
367+
- name: Install Qdrant and download snapshot
368+
run: |
369+
# Download Qdrant
370+
curl -LO https://github.com/qdrant/qdrant/releases/download/v1.11.4/qdrant-aarch64-apple-darwin.tar.gz
371+
tar -xzvf qdrant-aarch64-apple-darwin.tar.gz
372+
rm qdrant-aarch64-apple-darwin.tar.gz
373+
374+
# Download snapshot
375+
curl -LO https://huggingface.co/datasets/gaianet/paris/resolve/main/paris_768_nomic-embed-text-v1.5-f16.snapshot
376+
mv paris_768_nomic-embed-text-v1.5-f16.snapshot default.snapshot
377+
378+
ls -al
379+
380+
- name: Build rag-api-server on macos-14
381+
env:
382+
WASI_SDK_PATH: /Users/runner/work/rag-api-server/rag-api-server/wasi-sdk-24.0
383+
CC: "/Users/runner/work/rag-api-server/rag-api-server/wasi-sdk-24.0/bin/clang --sysroot=/Users/runner/work/rag-api-server/rag-api-server/wasi-sdk-24.0/share/wasi-sysroot"
384+
RUSTFLAGS: "--cfg wasmedge --cfg tokio_unstable"
385+
run: |
386+
cargo build -p rag-api-server --release
387+
cp target/wasm32-wasip1/release/rag-api-server.wasm ./rag-api-server.wasm
388+
389+
- name: Download models
390+
run: |
391+
curl -LO https://huggingface.co/second-state/Qwen2-1.5B-Instruct-GGUF/resolve/main/Qwen2-1.5B-Instruct-Q3_K_M.gguf
392+
curl -LO https://huggingface.co/second-state/Nomic-embed-text-v1.5-Embedding-GGUF/resolve/main/nomic-embed-text-v1.5-f16.gguf
393+
394+
- name: Start Qdrant
395+
run: |
396+
nohup ./qdrant > ./start-qdrant.log 2>&1 &
397+
sleep 5
398+
cat start-qdrant.log
399+
400+
- name: Import the default.snapshot file to Qdrant
401+
run: |
402+
curl -s -X POST http://localhost:6333/collections/default/snapshots/upload?priority=snapshot -H 'Content-Type:multipart/form-data' -F '[email protected]'
403+
404+
- name: Start rag-api-server for testing chat completions
405+
run: |
406+
nohup $HOME/.wasmedge/bin/wasmedge --dir .:. --nn-preload default:GGML:AUTO:Qwen2-1.5B-Instruct-Q3_K_M.gguf --nn-preload embedding:GGML:AUTO:nomic-embed-text-v1.5-f16.gguf rag-api-server.wasm --model-name Qwen2-1.5B-Instruct,nomic-embed-text-v1.5 --ctx-size 4096,512 --batch-size 16,512 --prompt-template chatml,embedding --rag-policy last-user-message --socket-addr 0.0.0.0:9069 > ./start-llamaedge.log 2>&1 &
407+
sleep 30
408+
cat start-llamaedge.log
409+
410+
- name: Run test_chat.hurl
411+
run: |
412+
hurl --test --jobs 1 ./tests/test_chat.hurl
413+
414+
- name: Run test_embeddings.hurl
415+
run: |
416+
hurl --test --jobs 1 ./tests/test_embeddings.hurl
417+
418+
- name: Run test_rag.hurl
419+
run: |
420+
hurl --test --jobs 1 ./tests/test_rag.hurl
421+
422+
- name: Stop rag-api-server for testing chat completions
423+
run: |
424+
pkill -f wasmedge
425+
426+
- name: Stop Qdrant
427+
run: |
428+
pkill -f qdrant
429+

0 commit comments

Comments
 (0)