diff --git a/.github/workflows/rust_tests.yml b/.github/workflows/rust_tests.yml index 548e74e1..66d261a3 100644 --- a/.github/workflows/rust_tests.yml +++ b/.github/workflows/rust_tests.yml @@ -18,13 +18,13 @@ jobs: uses: actions/checkout@v4 - name: Setup | Rust - run: rustup toolchain install stable --profile minimal + run: rustup toolchain install 1.82 --profile minimal - name: Setup | Install wasm toolchain - run: rustup target add wasm32-wasi + run: rustup target add wasm32-wasip1 - name: Build wasm module - run: cargo build --release --target=wasm32-wasi + run: cargo build --release --target=wasm32-wasip1 - name: Run unit tests run: cargo test --lib diff --git a/arch/Dockerfile b/arch/Dockerfile index 6d7a0f9b..0df50a8e 100644 --- a/arch/Dockerfile +++ b/arch/Dockerfile @@ -1,22 +1,22 @@ # build filter using rust toolchain -FROM rust:1.80.0 as builder -RUN rustup -v target add wasm32-wasi +FROM rust:1.82.0 as builder +RUN rustup -v target add wasm32-wasip1 WORKDIR /arch COPY crates . -RUN cd prompt_gateway && cargo build --release --target wasm32-wasi -RUN cd llm_gateway && cargo build --release --target wasm32-wasi +RUN cd prompt_gateway && cargo build --release --target wasm32-wasip1 +RUN cd llm_gateway && cargo build --release --target wasm32-wasip1 # copy built filter into envoy image -FROM envoyproxy/envoy:v1.31-latest as envoy +FROM envoyproxy/envoy:v1.32-latest as envoy #Build config generator, so that we have a single build image for both Rust and Python -FROM python:3-slim as arch +FROM python:3.13-slim as arch RUN apt-get update && apt-get install -y gettext-base curl && apt-get clean && rm -rf /var/lib/apt/lists/* -COPY --from=builder /arch/target/wasm32-wasi/release/prompt_gateway.wasm /etc/envoy/proxy-wasm-plugins/prompt_gateway.wasm -COPY --from=builder /arch/target/wasm32-wasi/release/llm_gateway.wasm /etc/envoy/proxy-wasm-plugins/llm_gateway.wasm +COPY --from=builder /arch/target/wasm32-wasip1/release/prompt_gateway.wasm /etc/envoy/proxy-wasm-plugins/prompt_gateway.wasm +COPY --from=builder /arch/target/wasm32-wasip1/release/llm_gateway.wasm /etc/envoy/proxy-wasm-plugins/llm_gateway.wasm COPY --from=envoy /usr/local/bin/envoy /usr/local/bin/envoy WORKDIR /config COPY arch/requirements.txt . diff --git a/arch/README.md b/arch/README.md index 990c45e4..49c62797 100644 --- a/arch/README.md +++ b/arch/README.md @@ -3,13 +3,13 @@ ## Add toolchain ```sh -$ rustup target add wasm32-wasi +$ rustup target add wasm32-wasip1 ``` ## Building ```sh -$ cargo build --target wasm32-wasi --release +$ cargo build --target wasm32-wasip1 --release ``` ## Testing @@ -25,7 +25,7 @@ $ cargo test - Build filter binary, ``` - $ cargo build --target wasm32-wasi --release + $ cargo build --target wasm32-wasip1 --release ``` - Start envoy with arch_config.yaml and test, ``` diff --git a/arch/docker-compose.dev.yaml b/arch/docker-compose.dev.yaml index bbac66f8..134f3853 100644 --- a/arch/docker-compose.dev.yaml +++ b/arch/docker-compose.dev.yaml @@ -13,8 +13,8 @@ services: - ./envoy.template.yaml:/config/envoy.template.yaml - ./arch_config_schema.yaml:/config/arch_config_schema.yaml - ./tools/cli/config_generator.py:/config/config_generator.py - - ../crates/target/wasm32-wasi/release/llm_gateway.wasm:/etc/envoy/proxy-wasm-plugins/llm_gateway.wasm - - ../crates/target/wasm32-wasi/release/prompt_gateway.wasm:/etc/envoy/proxy-wasm-plugins/prompt_gateway.wasm + - ../crates/target/wasm32-wasip1/release/llm_gateway.wasm:/etc/envoy/proxy-wasm-plugins/llm_gateway.wasm + - ../crates/target/wasm32-wasip1/release/prompt_gateway.wasm:/etc/envoy/proxy-wasm-plugins/prompt_gateway.wasm - ~/archgw_logs:/var/log/ extra_hosts: - "host.docker.internal:host-gateway" diff --git a/crates/llm_gateway/tests/integration.rs b/crates/llm_gateway/tests/integration.rs index 5a5ed4a8..2a92441a 100644 --- a/crates/llm_gateway/tests/integration.rs +++ b/crates/llm_gateway/tests/integration.rs @@ -7,10 +7,10 @@ use serial_test::serial; use std::path::Path; fn wasm_module() -> String { - let wasm_file = Path::new("../target/wasm32-wasi/release/llm_gateway.wasm"); + let wasm_file = Path::new("../target/wasm32-wasip1/release/llm_gateway.wasm"); assert!( wasm_file.exists(), - "Run `cargo build --release --target=wasm32-wasi` first" + "Run `cargo build --release --target=wasm32-wasip1` first" ); wasm_file.to_str().unwrap().to_string() } diff --git a/crates/prompt_gateway/tests/integration.rs b/crates/prompt_gateway/tests/integration.rs index 821c3543..bc031fc0 100644 --- a/crates/prompt_gateway/tests/integration.rs +++ b/crates/prompt_gateway/tests/integration.rs @@ -17,10 +17,10 @@ use std::collections::HashMap; use std::path::Path; fn wasm_module() -> String { - let wasm_file = Path::new("../target/wasm32-wasi/release/prompt_gateway.wasm"); + let wasm_file = Path::new("../target/wasm32-wasip1/release/prompt_gateway.wasm"); assert!( wasm_file.exists(), - "Run `cargo build --release --target=wasm32-wasi` first" + "Run `cargo build --release --target=wasm32-wasip1` first" ); wasm_file.to_str().unwrap().to_string() }