fix tingz
This commit is contained in:
64
Dockerfile.test_sdk
Normal file
64
Dockerfile.test_sdk
Normal file
@@ -0,0 +1,64 @@
|
||||
# Multi-stage build for Odin + Python test environment with RocksDB
|
||||
FROM debian:bookworm-slim AS odin-builder
|
||||
|
||||
# Install dependencies for building Odin
|
||||
RUN apt-get update && apt-get install -y \
|
||||
git \
|
||||
curl \
|
||||
build-essential \
|
||||
clang \
|
||||
llvm \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install Odin compiler
|
||||
WORKDIR /opt
|
||||
RUN git clone https://github.com/odin-lang/Odin.git odin \
|
||||
&& cd odin \
|
||||
&& ./build_odin.sh release
|
||||
|
||||
# Final stage with both Odin and Python
|
||||
FROM python:3.12-slim
|
||||
|
||||
# Install runtime and build dependencies including RocksDB
|
||||
RUN apt-get update && apt-get install -y \
|
||||
clang \
|
||||
llvm \
|
||||
make \
|
||||
git \
|
||||
build-essential \
|
||||
cmake \
|
||||
pkg-config \
|
||||
# RocksDB and compression libraries
|
||||
librocksdb-dev \
|
||||
librocksdb8.7 \
|
||||
# Compression libraries that RocksDB depends on
|
||||
libsnappy-dev \
|
||||
libgflags-dev \
|
||||
libz-dev \
|
||||
libbz2-dev \
|
||||
liblz4-dev \
|
||||
libzstd-dev \
|
||||
# Additional common dependencies
|
||||
libssl-dev \
|
||||
libcurl4-openssl-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Copy Odin compiler from builder stage
|
||||
COPY --from=odin-builder /opt/odin /opt/odin
|
||||
|
||||
# Add Odin to PATH
|
||||
ENV PATH="/opt/odin:${PATH}"
|
||||
ENV ODIN_ROOT="/opt/odin"
|
||||
|
||||
# Set up library paths for RocksDB
|
||||
ENV LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH}"
|
||||
ENV PKG_CONFIG_PATH="/usr/lib/x86_64-linux-gnu/pkgconfig:${PKG_CONFIG_PATH}"
|
||||
|
||||
# Install Python dependencies
|
||||
RUN pip install --no-cache-dir boto3 pytest requests
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /workspace
|
||||
|
||||
# Default command
|
||||
CMD ["/bin/bash"]
|
||||
Reference in New Issue
Block a user