diff --git a/docker/Dockerfile b/docker/Dockerfile index c1b17ff6d..2ef845956 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,14 +1,12 @@ FROM statusteam/nim-base AS build -RUN apt update \ - && apt install -y build-essential make wget \ - && apt clean \ - && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* +RUN apt-get -qq update \ + && apt-get -qq -y install build-essential make wget 2>/dev/null >/dev/null RUN export GO_TAR_GZ=go1.12.6.linux-amd64.tar.gz \ && cd /tmp/ \ - && wget https://dl.google.com/go/$GO_TAR_GZ \ - && tar -xvf $GO_TAR_GZ \ + && wget --progress=dot:giga https://dl.google.com/go/$GO_TAR_GZ \ + && tar -xf $GO_TAR_GZ \ && mv go /usr/local \ && rm $GO_TAR_GZ @@ -19,15 +17,9 @@ RUN export GOROOT=/usr/local/go \ && git clone https://github.com/status-im/nim-beacon-chain.git \ && cd nim-beacon-chain \ && git reset --hard ${GIT_REVISION} \ - && git submodule update --init --recursive - -RUN cd nim-beacon-chain \ - && make build-system-checks - -# TODO: The command above exits with 1, so we cannot chain it cleanly -RUN cd nim-beacon-chain \ - && export PATH=/usr/local/go/bin:$PATH \ - && make update deps \ + && { make 2>/dev/null >/dev/null || true; } \ + && make -j8 update \ + && make deps \ && cp vendor/go/bin/p2pd /usr/bin/p2pd \ && cp docker/run_in_docker.sh /usr/bin/run_beacon_node.sh @@ -43,6 +35,9 @@ RUN cd nim-beacon-chain \ -d:insecure \ --debugger:native \ --debugInfo \ + --verbosity:0 \ + --hints:off \ + --warnings:off \ -d:"network_type=${NETWORK_TYPE}" \ -d:"SHARD_COUNT=${SHARD_COUNT}" \ -d:"SLOTS_PER_EPOCH=${SLOTS_PER_EPOCH}" \ @@ -56,9 +51,9 @@ RUN cd nim-beacon-chain \ # --------------------------------- # FROM debian:9-slim -RUN apt update \ - && apt install -y librocksdb-dev psmisc \ - && apt clean \ +RUN apt-get -qq update \ + && apt-get -qq -y install librocksdb-dev psmisc 2>/dev/null >/dev/null \ + && apt-get -qq clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* COPY --from=build /usr/bin/beacon_node /usr/bin/beacon_node @@ -68,9 +63,11 @@ COPY --from=build /usr/bin/p2pd /usr/bin/p2pd MAINTAINER Zahary Karadjov LABEL description="Nimbus installation that can act as an ETH2 network bootstrap node." +ARG GIT_REVISION RUN echo Built from Git revision: ${GIT_REVISION} # TODO: This custom entry script is necessary only because we must clean up # temporary files left by previous executions of the Go daeamon. # We should be able to remove it once we have a native LibP2P impl. ENTRYPOINT ["/usr/bin/run_beacon_node.sh"] + diff --git a/docker/Makefile b/docker/Makefile index e43494126..d1fdf6d4d 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -18,3 +18,6 @@ build: push: build docker push $(IMAGE_NAME) +push-last: + docker push $(IMAGE_NAME) + diff --git a/scripts/reset_testnet.sh b/scripts/reset_testnet.sh index 89685f1ca..7ae23f598 100755 --- a/scripts/reset_testnet.sh +++ b/scripts/reset_testnet.sh @@ -122,7 +122,7 @@ if [[ $PUBLISH_TESTNET_RESETS != "0" ]]; then ssh $BOOTSTRAP_HOST "sudo install -o dockremap -g docker /tmp/privkey.protobuf $BOOTSTRAP_NODE_DOCKER_PATH" echo Publishing docker image... - make push + make push-last echo Persisting testnet data to git... pushd "$NETWORK_DIR_ABS"