Skip to content

Commit 346eea4

Browse files
committed
Cleaned up the build Dockerfile and removed an extra dependency layer
1 parent 843b110 commit 346eea4

1 file changed

Lines changed: 11 additions & 6 deletions

File tree

provisioning/build.Dockerfile

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
# This will be the main build image
2-
FROM --platform=${BUILDPLATFORM} lukemathwalker/cargo-chef:latest-rust-1.83 AS chef
2+
FROM --platform=${BUILDPLATFORM} rust:1.83-slim-bookworm AS chef
33
ARG TARGETOS TARGETARCH BUILDPLATFORM TARGET_CRATE
4+
ENV CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
45
WORKDIR /app
6+
RUN cargo install cargo-chef --locked && \
7+
rm -rf $CARGO_HOME/registry/
58

69
FROM --platform=${BUILDPLATFORM} chef AS planner
710
ARG TARGETOS TARGETARCH BUILDPLATFORM TARGET_CRATE
@@ -20,8 +23,8 @@ RUN if [ "$BUILDPLATFORM" = "linux/amd64" -a "$TARGETARCH" = "arm64" ]; then \
2023
rustup target add aarch64-unknown-linux-gnu && \
2124
dpkg --add-architecture arm64 && \
2225
apt update && \
23-
apt install -y gcc-aarch64-linux-gnu libssl-dev:arm64 zlib1g-dev:arm64 && \
24-
echo "#!/bin/sh" > ${BUILD_VAR_SCRIPT} && \
26+
apt install -y gcc-aarch64-linux-gnu && \
27+
echo '#!/bin/sh' > ${BUILD_VAR_SCRIPT} && \
2528
echo "export TARGET=aarch64-unknown-linux-gnu" >> ${BUILD_VAR_SCRIPT} && \
2629
echo "export TARGET_FLAG=--target=aarch64-unknown-linux-gnu" >> ${BUILD_VAR_SCRIPT} && \
2730
echo "export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=/usr/bin/aarch64-linux-gnu-gcc" >> ${BUILD_VAR_SCRIPT} && \
@@ -35,8 +38,8 @@ RUN if [ "$BUILDPLATFORM" = "linux/amd64" -a "$TARGETARCH" = "arm64" ]; then \
3538
rustup target add x86_64-unknown-linux-gnu && \
3639
dpkg --add-architecture amd64 && \
3740
apt update && \
38-
apt install -y gcc-x86-64-linux-gnu libssl-dev:amd64 zlib1g-dev:amd64 && \
39-
echo "#!/bin/sh" > ${BUILD_VAR_SCRIPT} && \
41+
apt install -y gcc-x86-64-linux-gnu && \
42+
echo '#!/bin/sh' > ${BUILD_VAR_SCRIPT} && \
4043
echo "export TARGET=x86_64-unknown-linux-gnu" >> ${BUILD_VAR_SCRIPT} && \
4144
echo "export TARGET_FLAG=--target=x86_64-unknown-linux-gnu" >> ${BUILD_VAR_SCRIPT} && \
4245
echo "export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=/usr/bin/x86_64-linux-gnu-gcc" >> ${BUILD_VAR_SCRIPT} && \
@@ -49,12 +52,14 @@ RUN if [ "$BUILDPLATFORM" = "linux/amd64" -a "$TARGETARCH" = "arm64" ]; then \
4952

5053
# Run cook to prep the build
5154
RUN if [ -f ${BUILD_VAR_SCRIPT} ]; then \
55+
chmod +x ${BUILD_VAR_SCRIPT} && \
5256
. ${BUILD_VAR_SCRIPT} && \
5357
echo "Cross-compilation environment set up for ${TARGET}"; \
5458
else \
5559
echo "No cross-compilation needed"; \
5660
fi && \
57-
export GIT_HASH=$(git rev-parse HEAD) && \
61+
apt update && \
62+
apt install -y git libssl-dev:${TARGETARCH} zlib1g-dev:${TARGETARCH} pkg-config && \
5863
cargo chef cook ${TARGET_FLAG} --release --recipe-path recipe.json
5964

6065
# Get the latest Protoc since the one in the Debian repo is incredibly old

0 commit comments

Comments
 (0)