diff --git a/Dockerfile b/Dockerfile index b04f42a..e8ac570 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,12 +4,12 @@ FROM lukemathwalker/cargo-chef:latest-rust-slim AS chef WORKDIR /chhoto-url -FROM chef as planner -COPY ./actix/Cargo.toml ./actix/Cargo.lock . +FROM chef AS planner +COPY ./actix/Cargo.toml ./actix/Cargo.lock ./ COPY ./actix/src ./src RUN cargo chef prepare --recipe-path recipe.json -FROM chef as builder +FROM chef AS builder ARG target=x86_64-unknown-linux-musl RUN apt-get update && apt-get install -y musl-tools RUN rustup target add $target @@ -18,12 +18,13 @@ COPY --from=planner /chhoto-url/recipe.json recipe.json # Build dependencies - this is the caching Docker layer RUN cargo chef cook --release --target=$target --recipe-path recipe.json -COPY ./actix/Cargo.toml ./actix/Cargo.lock . +COPY ./actix/Cargo.toml ./actix/Cargo.lock ./ COPY ./actix/src ./src # Build application RUN cargo build --release --target=$target --locked --bin chhoto-url +RUN cp /chhoto-url/target/$target/release/chhoto-url /chhoto-url/release FROM scratch -COPY --from=builder /chhoto-url/target/$target/release/chhoto-url /chhoto-url +COPY --from=builder /chhoto-url/release /chhoto-url COPY ./resources /resources ENTRYPOINT ["/chhoto-url"] diff --git a/Dockerfile.multiarch b/Dockerfile.multiarch index fdad813..a5b079a 100644 --- a/Dockerfile.multiarch +++ b/Dockerfile.multiarch @@ -1,13 +1,13 @@ # SPDX-FileCopyrightText: 2023 Sayantan Santra # SPDX-License-Identifier: MIT -FROM scratch as builder-amd64 +FROM scratch AS builder-amd64 COPY ./actix/target/x86_64-unknown-linux-musl/release/chhoto-url /chhoto-url -FROM scratch as builder-arm64 +FROM scratch AS builder-arm64 COPY ./actix/target/aarch64-unknown-linux-musl/release/chhoto-url /chhoto-url -FROM scratch as builder-arm +FROM scratch AS builder-arm COPY ./actix/target/armv7-unknown-linux-musleabihf/release/chhoto-url /chhoto-url ARG TARGETARCH