34 lines
688 B
Docker
34 lines
688 B
Docker
# Test environment for ruvector-attention published packages
|
|
FROM node:20-slim
|
|
|
|
# Install Rust for testing the crate
|
|
RUN apt-get update && apt-get install -y \
|
|
curl \
|
|
build-essential \
|
|
pkg-config \
|
|
libssl-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install Rust
|
|
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
|
ENV PATH="/root/.cargo/bin:${PATH}"
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy test files
|
|
COPY package.json ./
|
|
COPY Cargo.toml ./
|
|
COPY test-wasm.mjs ./
|
|
COPY test-napi.mjs ./
|
|
COPY src/ ./src/
|
|
|
|
# Install npm packages
|
|
RUN npm install
|
|
|
|
# Build and test Rust crate
|
|
RUN cargo build --release
|
|
RUN cargo test --release
|
|
|
|
# Run Node.js tests
|
|
CMD ["node", "--test"]
|