Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,8 @@ steps:
- -c
- |
apt-get update && apt-get install -y pkg-config libssl-dev protobuf-compiler
# wasm_middleware unit tests load the example component artifact
bash examples/wasm_middleware/build.sh
cargo test --lib --bins
agents:
queue: "cpu_queue_premerge"
Expand Down Expand Up @@ -183,6 +185,9 @@ steps:
- -c
- |
apt-get update && apt-get install -y pkg-config libssl-dev protobuf-compiler python3 python3-pip python3-dev python3-venv
# WASM middleware pytest needs the example component + router binary
bash examples/wasm_middleware/build.sh
cargo build --release --bin vllm-router
python3 -m venv /tmp/venv
source /tmp/venv/bin/activate
pip install -U pip setuptools wheel setuptools-rust
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ jobs:
with:
check_filenames: true
skip: ./.git,./.github/workflows/codespell.yml,.git,*.png,*.jpg,*.svg,*.sum
ignore_words_list: "aks,te,hel"
ignore_words_list: "aks,te,hel,wit,wast"
61 changes: 61 additions & 0 deletions .github/workflows/wasm-middleware.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: WASM Middleware

on:
pull_request:
paths:
- "src/wasm_middleware.rs"
- "src/server.rs"
- "src/main.rs"
- "src/lib.rs"
- "wit/**"
- "examples/wasm_middleware/**"
- "py_test/integration/test_wasm_middleware.py"
- "py_test/fixtures/router_manager.py"
- "py_test/fixtures/mock_worker.py"
- "tests/test_wasm_middleware.rs"
- "tests/common/**"
- "Cargo.toml"
- "Cargo.lock"
- ".github/workflows/wasm-middleware.yml"
push:
branches: [main]
paths:
- "src/wasm_middleware.rs"
- "wit/**"
- "examples/wasm_middleware/**"
- ".github/workflows/wasm-middleware.yml"

jobs:
wasm-middleware:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-wasip2

- name: Cache cargo
uses: Swatinem/rust-cache@v2

- name: Build example WASM plugin
working-directory: examples/wasm_middleware
run: ./build.sh

- name: Run WASM middleware unit tests
run: "cargo test --lib wasm_middleware:: -- --nocapture"

- name: Run WASM middleware Rust integration tests
run: "cargo test --test test_wasm_middleware -- --nocapture"

- name: Build router binary for integration tests
run: cargo build --release --bin vllm-router

- name: Install Python test deps
run: |
python3 -m pip install --upgrade pip
python3 -m pip install pytest requests fastapi uvicorn

- name: Run WASM middleware Python integration test
run: python3 -m pytest py_test/integration/test_wasm_middleware.py -q
Loading