# What scripts/coverage.sh runs the Rust tests in, to see which lines they reach (#390): the # toolchain, LLVM's coverage tools and cargo-llvm-cov. No source: coverage.sh mounts the tree. # Built and pushed like the services, by scripts/build-image.sh coverage, under its caps. # # The same Rust as the tests are built with elsewhere: a newer one would rebuild everything with # its own flags for nothing. FROM rust:1.98.1-slim-trixie # cc for rusqlite's bundled SQLite and librqbit, as Dockerfile's builder; ffmpeg for DeadAir's # tests, as the image ipx runs in. RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential ffmpeg \ && rm -rf /var/lib/apt/lists/* \ && rustup component add llvm-tools-preview # cargo-llvm-cov's own build, as its README gives it, rather than compiling it here. ADD https://github.com/taiki-e/cargo-llvm-cov/releases/latest/download/cargo-llvm-cov-x86_64-unknown-linux-gnu.tar.gz /tmp/llvm-cov.tar.gz RUN tar -xzf /tmp/llvm-cov.tar.gz -C /usr/local/cargo/bin && rm /tmp/llvm-cov.tar.gz \ && cargo llvm-cov --version WORKDIR /work