#The docker container is designed to be used as the base of another for running a project reproducably, and not for local development.
#The analyse-results binary that can be used with it is only used for processing experiment results.
#```
#docker build . -t deflake
# Run the result analyser
#docker run --rm --volume ${PWD}:/uploads deflaker analyse-results --project quinn --type deflaker
#```
FROM rust:1.81.0-slim-bookworm
WORKDIR deflake
RUN apt-get update
RUN apt-get install openssl libssl-dev pkg-config -y
RUN cargo install cargo-binutils
RUN cargo install rustfilt
RUN rustup component add llvm-tools-preview
COPY Cargo.* .
COPY src ./src
COPY benches ./benches
RUN cargo build --release
RUN cp target/release/cargo-deflake /bin/
RUN cp target/release/analyse-results /bin/
RUN cp target/release/analyse-rq3 /bin/
WORKDIR /