VERSION 0.7
FROM rust:alpine
WORKDIR /rustbuild

prepare-env:
    RUN apk add --no-cache musl-dev libssl3 openssl-dev
    RUN cargo search test # Super simple way to cache the cargo index

docker-multi:
    BUILD --platform linux/amd64 --platform linux/arm64 +docker

build:
    FROM +prepare-env
    COPY . .
    RUN cargo build --release
    SAVE ARTIFACT target/release/rustocat rustocat

docker:
    FROM alpine
    RUN apk add --no-cache libssl3
    COPY +build/rustocat rustocat
    ENTRYPOINT ["rustocat"]
    ARG EARTHLY_TARGET_TAG
    ARG TAG=$EARTHLY_TARGET_TAG
    SAVE IMAGE --push docker.hibas123.de/rustocat:$TAG