diff-coverage 0.6.1

Diff-coverage, supercharged in Rust. Fast, memory-efficient coverage on changed lines for CI.
# syntax=docker/dockerfile:1.6
ARG ALPINE_VERSION=3.20
ARG BASE_IMAGE=alpine:${ALPINE_VERSION}

FROM alpine:${ALPINE_VERSION} AS prep
ARG TARGETPLATFORM
ARG RUST_TARGET_SUFFIX=musl
COPY dist/ /dist/
RUN set -eux; \
  mkdir -p /out; \
  case "$TARGETPLATFORM" in \
    "linux/arm64") target="aarch64-unknown-linux-${RUST_TARGET_SUFFIX}" ;; \
    "linux/amd64") target="x86_64-unknown-linux-${RUST_TARGET_SUFFIX}" ;; \
    *) echo "Unsupported TARGETPLATFORM=$TARGETPLATFORM" >&2; exit 1 ;; \
  esac; \
  mv "/dist/diff-coverage-${target}" /out/diff-coverage; \
  chmod +x /out/diff-coverage

FROM ${BASE_IMAGE}
COPY --from=prep /out/diff-coverage /usr/local/bin/diff-coverage
CMD ["/usr/local/bin/diff-coverage"]