# syntax=docker/dockerfile:1
ARG ALPINE_VERSION="3.20"

FROM rustlang/rust:nightly-alpine$ALPINE_VERSION AS builder

RUN apk add --no-cache musl-dev pkgconfig libressl-dev

RUN mkdir /source
WORKDIR /source
COPY --link . .
# TODO: Add static build, which currently errors due to proc_macro. RUSTFLAGS="-C target-feature=+crt-static"
RUN --mount=type=tmpfs,target=/tmp --mount=type=cache,target=/usr/local/cargo/registry,sharing=locked CARGO_TARGET_DIR=/target cargo build --profile release-lto --bin webhook_bridge

FROM alpine:$ALPINE_VERSION AS runner

COPY --link --from=builder /target/release-lto/webhook_bridge /usr/bin/

ENTRYPOINT ["/usr/bin/webhook_bridge"]
