FROM rust:1.84 AS builder
WORKDIR /app

RUN apt update && apt install -y musl-tools
RUN rustup target add x86_64-unknown-linux-musl

COPY . .

ENV CARGO_HTTP_DEBUG=true
ENV CARGO_HTTP_TIMEOUT=100

RUN cargo test --verbose
RUN cargo build --release --target=x86_64-unknown-linux-musl

FROM alpine:latest
WORKDIR /app

COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/api-grub /app/api-grub
RUN apk add --no-cache ca-certificates


ENTRYPOINT ["/app/api-grub"]