2023-09-20 16:07:09 +00:00
|
|
|
FROM debian:stable-slim as build
|
|
|
|
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive TZ="Etc/UTC"
|
|
|
|
ENV NPROC=2
|
2023-12-11 13:56:00 +00:00
|
|
|
ENV NIMFLAGS_COMMON="-d:disableMarchNative --gcc.options.debug:'-g1' --clang.options.debug:'-gline-tables-only'"
|
2023-09-20 16:07:09 +00:00
|
|
|
|
|
|
|
RUN apt update \
|
|
|
|
&& apt install make bash build-essential git -y \
|
|
|
|
&& apt-get clean \
|
|
|
|
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
|
2023-12-11 13:56:00 +00:00
|
|
|
COPY ../../ /nimbus-eth1
|
2023-09-20 16:07:09 +00:00
|
|
|
|
2023-12-11 13:56:00 +00:00
|
|
|
WORKDIR /nimbus-eth1
|
2023-09-20 16:07:09 +00:00
|
|
|
|
2023-12-11 13:56:00 +00:00
|
|
|
RUN mv vendor vendor.orig
|
2023-09-20 16:07:09 +00:00
|
|
|
|
2023-12-11 13:56:00 +00:00
|
|
|
RUN --mount=type=cache,target=/nimbus-eth1/build --mount=type=cache,target=/nimbus-eth1/vendor \
|
|
|
|
mv vendor.orig vendor && \
|
|
|
|
make -j${NPROC} NIMFLAGS="${NIMFLAGS_COMMON} --parallelBuild:${NPROC}" V=1 update
|
2023-09-20 16:07:09 +00:00
|
|
|
|
2023-12-11 13:56:00 +00:00
|
|
|
RUN --mount=type=cache,target=/nimbus-eth1/build --mount=type=cache,target=/nimbus-eth1/vendor \
|
|
|
|
make -j${NPROC} NIMFLAGS="${NIMFLAGS_COMMON} --parallelBuild:${NPROC}" fluffy && \
|
|
|
|
mv build/fluffy /usr/local/bin/fluffy
|
2023-09-20 16:07:09 +00:00
|
|
|
|
2023-12-11 13:56:00 +00:00
|
|
|
FROM debian:stable-slim as app
|
2023-09-20 16:07:09 +00:00
|
|
|
COPY --from=build /usr/local/bin/fluffy /usr/local/bin/fluffy
|