deflake-rs 0.1.0

cargo-deflake is a command that detects flaky tests based on what tests fail and what code has changed
#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 /