dilithium-rs 0.3.0

Pure Rust implementation of ML-DSA (FIPS 204) / CRYSTALS-Dilithium post-quantum digital signature scheme
Documentation
# syntax=docker/dockerfile:1

# Minimalist Linux (Alpine + musl) image for building and testing dilithium-rs.
#
# Build the test image:
#   docker build -t dilithium-rs-test .
# Run the full test suite:
#   docker run --rm dilithium-rs-test
# Open a shell for interactive work:
#   docker run --rm -it dilithium-rs-test sh

FROM rust:1-alpine AS test

# musl toolchain + git (some cargo operations expect it). No OpenSSL/C deps
# are needed — this crate is pure Rust (sha3/sha2/zeroize/subtle).
RUN apk add --no-cache musl-dev

WORKDIR /app

# Copy the manifest first so dependency compilation caches across source edits.
COPY Cargo.toml ./
COPY Cargo.lock* ./

# Bring in the full source tree.
COPY . .

# Warm the build cache (default features).
RUN cargo build --all-targets

# Default command: run the complete test suite with all features enabled.
CMD ["cargo", "test", "--all-features"]