timebomb-cli 0.9.0

Scan source code for deadline-tagged fuses and fail when they detonate
Documentation
# syntax=docker/dockerfile:1.7

ARG RUST_IMAGE=dhi.io/rust:1-debian13-dev
ARG STATIC_IMAGE=dhi.io/static:20250419-glibc-debian13

FROM ${RUST_IMAGE} AS build
WORKDIR /work

COPY Cargo.toml Cargo.lock ./
COPY src ./src
COPY benches ./benches

RUN --mount=type=cache,target=/usr/local/cargo/registry \
    --mount=type=cache,target=/usr/local/cargo/git \
    --mount=type=cache,target=/work/target \
    cargo build --locked --profile dist && \
    cp target/dist/timebomb /usr/local/bin/timebomb

FROM ${STATIC_IMAGE}

LABEL org.opencontainers.image.title="timebomb" \
      org.opencontainers.image.description="Scan source code for deadline-tagged fuses and fail when they detonate" \
      org.opencontainers.image.source="https://github.com/pbsladek/timebomb" \
      org.opencontainers.image.licenses="MIT"

COPY --from=build /usr/local/bin/timebomb /usr/local/bin/timebomb

ENTRYPOINT ["/usr/local/bin/timebomb"]