github.com/energicryptocurrency/go-energi@v1.1.7/Dockerfile.builder (about) 1 # Ubuntu 22.04 is our base image for building 2 FROM ubuntu:22.04 3 4 # set up timezone 5 ENV TZ=GMT 6 RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone 7 8 # update software 9 RUN apt -y --fix-missing update 10 RUN apt -y full-upgrade 11 RUN apt -y autoremove 12 RUN apt -y clean 13 14 # install docker 15 RUN apt -y update 16 RUN apt -y install curl gnupg lsb-release software-properties-common git build-essential wget awscli sudo 17 18 # golang variables 19 ARG golang_version="1.21.4" 20 ARG golang_hostarch="linux-amd64" 21 ARG golang_filename="go${golang_version}.${golang_hostarch}.tar.gz" 22 ARG golang_url="https://golang.org/dl/${golang_filename}" 23 ARG golang_sha256="73cac0215254d0c7d1241fa40837851f3b9a8a742d0b54714cbdfb3feaf8f0af" 24 25 # install golang 26 RUN wget -nv ${golang_url} 27 RUN echo "${golang_sha256} ${golang_filename}" > "${golang_filename}.sha256" 28 RUN sha256sum -c ${golang_filename}.sha256 29 RUN tar -C /usr/local -xzf ${golang_filename} 30 RUN rm -rf ${golang_filename}* 31 ENV PATH="${PATH}:/usr/local/go/bin" 32 ENV GOROOT="/usr/local/go" 33 34 # install go-junit-report 35 RUN go install -v github.com/RyanLucchese/go-junit-report@latest 36 ENV PATH="${PATH}:/root/go/bin" 37 38 RUN mkdir -p "/go/src/github.com/energicryptocurrency/go-energi" 39 WORKDIR "/go/src/github.com/energicryptocurrency/go-energi" 40 ADD Makefile.release Makefile.release 41 # this git config supports bind mounting a local repo into a root container 42 RUN git config --global --add safe.directory /go/src/github.com/energicryptocurrency/go-energi 43 RUN git config --global --add safe.directory /go/src/github.com/energicryptocurrency/go-energi/energi/governance 44 RUN git config --global --add safe.directory /go/src/github.com/energicryptocurrency/go-energi/tests/testdata 45 RUN make -f Makefile.release release-tools 46 ENV GOPATH="/go" 47 ENV GOBIN="/go/src/github.com/energicryptocurrency/go-energi/build/bin" 48 ENV GOFLAGS="-v"