chg: Allow specifying target in the Dockerfile

This commit is contained in:
Sayantan Santra 2024-03-24 19:12:38 -05:00
parent d6dcd2f18d
commit c5cfba85f9
Signed by: SinTan1729
GPG Key ID: EB3E68BFBA25C85F
1 changed files with 6 additions and 3 deletions

View File

@ -1,3 +1,6 @@
ARG target=x86_64-unknown-linux-musl
ENV target=$target
FROM lukemathwalker/cargo-chef:latest-rust-slim AS chef
WORKDIR /chhoto-url
@ -12,15 +15,15 @@ RUN rustup target add x86_64-unknown-linux-musl
COPY --from=planner /chhoto-url/recipe.json recipe.json
# Build dependencies - this is the caching Docker layer
RUN cargo chef cook --release --target=x86_64-unknown-linux-musl --recipe-path recipe.json
RUN cargo chef cook --release --target=$target --recipe-path recipe.json
COPY ./actix/Cargo.toml ./actix/Cargo.lock .
COPY ./actix/src ./src
# Build application
RUN cargo build --release --target=x86_64-unknown-linux-musl --locked --bin chhoto-url
RUN cargo build --release --target=$target --locked --bin chhoto-url
FROM scratch
COPY --from=builder /chhoto-url/target/x86_64-unknown-linux-musl/release/chhoto-url /chhoto-url
COPY --from=builder /chhoto-url/target/$target/release/chhoto-url /chhoto-url
COPY ./resources /resources
ENTRYPOINT ["/chhoto-url"]