-
Notifications
You must be signed in to change notification settings - Fork 127
/
Copy pathDockerfile.debug
37 lines (27 loc) · 1.53 KB
/
Dockerfile.debug
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Nimbus
# Copyright (c) 2023-2025 Status Research & Development GmbH
# Licensed and distributed under either of
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
# at your option. This file may not be copied, modified, or distributed except according to those terms.
FROM debian:stable-slim AS build
ENV DEBIAN_FRONTEND=noninteractive TZ="Etc/UTC"
ENV NPROC=8
ENV NIMFLAGS_COMMON="-d:disableMarchNative --gcc.options.debug:'-g1' --clang.options.debug:'-gline-tables-only'"
RUN apt update \
&& apt install make bash build-essential curl git -y
COPY ./ /nimbus-eth1
WORKDIR /nimbus-eth1
RUN mv vendor vendor.orig
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
RUN --mount=type=cache,target=/nimbus-eth1/build --mount=type=cache,target=/nimbus-eth1/vendor \
make -j${NPROC} NIMFLAGS="${NIMFLAGS_COMMON} --parallelBuild:${NPROC}" nimbus_execution_client && \
mv build/nimbus_execution_client /usr/local/bin/nimbus_execution_client
# --------------------------------- #
# Starting new image to reduce size #
# --------------------------------- #
FROM debian:stable-slim AS deploy
COPY --from=build /usr/local/bin/nimbus_execution_client /usr/local/bin/nimbus_execution_client
ENTRYPOINT ["/usr/local/bin/nimbus_execution_client"]