promocrypt-core 1.0.0

Core library for cryptographically secure promotional code generation
Documentation
# Dockerfile.test - CI test environment for promocrypt-core
#
# Build: docker build -f Dockerfile.test -t promocrypt-test .
# Run:   docker run --rm promocrypt-test

FROM rust:1.85-bookworm

# Install dependencies
RUN apt-get update && apt-get install -y \
    pkg-config \
    libssl-dev \
    clang \
    llvm \
    && rm -rf /var/lib/apt/lists/*

# Install additional Rust tools
RUN rustup component add clippy rustfmt

# Create app directory
WORKDIR /app

# Copy Cargo files first for dependency caching
COPY Cargo.toml Cargo.lock* ./

# Create dummy src to cache dependencies
RUN mkdir src && \
    echo "pub fn main() {}" > src/lib.rs && \
    cargo build --release 2>/dev/null || true && \
    rm -rf src

# Copy actual source
COPY . .

# Build the project
RUN cargo build --release

# Default command: run all tests
CMD ["cargo", "test", "--release", "--all-features"]